Commit 01ce71ae authored by Peter Martin's avatar Peter Martin Committed by Christophe Massiot

* dvb.c: ATSC tuning support * demux.c: Support for ATSC A/52 stream types.

parent 5154e8d0
...@@ -17,6 +17,10 @@ E: a DOT j DOT gatward AT reading DOT ac DOT uk ...@@ -17,6 +17,10 @@ E: a DOT j DOT gatward AT reading DOT ac DOT uk
C: gatty C: gatty
D: EIT pass-through, IPv6 support, various bug fixes D: EIT pass-through, IPv6 support, various bug fixes
N: Peter Partin
E: peter DOT martin AT tripleplay DASH servies DOT com
D: ATSC, MRTG, PID remap
N: Christophe Massiot N: Christophe Massiot
E: massiot AT via DOT ecp DOT fr E: massiot AT via DOT ecp DOT fr
C: massiot C: massiot
......
...@@ -1365,6 +1365,8 @@ static bool PIDWouldBeSelected( uint8_t *p_es ) ...@@ -1365,6 +1365,8 @@ static bool PIDWouldBeSelected( uint8_t *p_es )
case 0x10: /* video MPEG-4 */ case 0x10: /* video MPEG-4 */
case 0x11: /* audio AAC LATM */ case 0x11: /* audio AAC LATM */
case 0x1b: /* video H264 */ case 0x1b: /* video H264 */
case 0x81: /* ATSC A/52 */
case 0x87: /* ATSC Enhanced A/52 */
return true; return true;
break; break;
...@@ -1416,6 +1418,8 @@ static bool PIDCarriesPES( const uint8_t *p_es ) ...@@ -1416,6 +1418,8 @@ static bool PIDCarriesPES( const uint8_t *p_es )
case 0x10: /* video MPEG-4 */ case 0x10: /* video MPEG-4 */
case 0x11: /* audio AAC LATM */ case 0x11: /* audio AAC LATM */
case 0x1b: /* video H264 */ case 0x1b: /* video H264 */
case 0x81: /* ATSC A/52 */
case 0x87: /* ATSC Enhanced A/52 */
return true; return true;
break; break;
......
...@@ -820,6 +820,18 @@ static struct dtv_properties dvbt_cmdseq = { ...@@ -820,6 +820,18 @@ static struct dtv_properties dvbt_cmdseq = {
.props = dvbt_cmdargs .props = dvbt_cmdargs
}; };
static struct dtv_property atsc_cmdargs[] = {
{ .cmd = DTV_FREQUENCY, .u.data = 0 },
{ .cmd = DTV_MODULATION, .u.data = QAM_AUTO },
{ .cmd = DTV_INVERSION, .u.data = INVERSION_AUTO },
{ .cmd = DTV_DELIVERY_SYSTEM, .u.data = SYS_ATSC },
{ .cmd = DTV_TUNE },
};
static struct dtv_properties atsc_cmdseq = {
.num = sizeof(atsc_cmdargs)/sizeof(struct dtv_property),
.props = atsc_cmdargs
};
#define FREQUENCY 0 #define FREQUENCY 0
#define MODULATION 1 #define MODULATION 1
#define INVERSION 2 #define INVERSION 2
...@@ -919,6 +931,18 @@ static void FrontendSet( bool b_init ) ...@@ -919,6 +931,18 @@ static void FrontendSet( bool b_init )
psz_modulation == NULL ? "legacy" : psz_modulation, i_pilot ); psz_modulation == NULL ? "legacy" : psz_modulation, i_pilot );
break; break;
case FE_ATSC:
p = &atsc_cmdseq;
p->props[FREQUENCY].u.data = i_frequency;
p->props[INVERSION].u.data = GetInversion();
if ( psz_modulation != NULL )
p->props[MODULATION].u.data = GetModulation();
msg_Dbg( NULL, "tuning ATSC frontend to f=%d inversion=%d modulation=%s",
i_frequency, i_inversion,
psz_modulation == NULL ? "qam_auto" : psz_modulation );
break;
default: default:
msg_Err( NULL, "unknown frontend type %d", info.type ); msg_Err( NULL, "unknown frontend type %d", info.type );
exit(1); exit(1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment