Commit c84df40a authored by Francois Cartegnie's avatar Francois Cartegnie

demux: ts: check for EAC3 before AC3 logic channels descriptor (fix #16316)

parent 896387bb
...@@ -4588,10 +4588,15 @@ static void PMTSetupEs0x06( demux_t *p_demux, ts_pes_t *p_pes, ...@@ -4588,10 +4588,15 @@ static void PMTSetupEs0x06( demux_t *p_demux, ts_pes_t *p_pes,
es_format_t *p_fmt = &p_pes->es.fmt; es_format_t *p_fmt = &p_pes->es.fmt;
dvbpsi_descriptor_t *p_subs_dr = PMTEsFindDescriptor( p_dvbpsies, 0x59 ); dvbpsi_descriptor_t *p_subs_dr = PMTEsFindDescriptor( p_dvbpsies, 0x59 );
dvbpsi_descriptor_t *desc; dvbpsi_descriptor_t *desc;
if( PMTEsFindDescriptor( p_dvbpsies, 0x7a ) )
if( PMTEsHasRegistration( p_demux, p_dvbpsies, "AC-3" ) || {
PMTEsFindDescriptor( p_dvbpsies, 0x6a ) || /* DVB with stream_type 0x06 (ETS EN 300 468) */
PMTEsFindDescriptor( p_dvbpsies, 0x81 ) ) p_fmt->i_cat = AUDIO_ES;
p_fmt->i_codec = VLC_CODEC_EAC3;
}
else if( PMTEsHasRegistration( p_demux, p_dvbpsies, "AC-3" ) ||
PMTEsFindDescriptor( p_dvbpsies, 0x6a ) ||
PMTEsFindDescriptor( p_dvbpsies, 0x81 ) ) /* AC-3 channel (also in EAC3) */
{ {
p_fmt->i_cat = AUDIO_ES; p_fmt->i_cat = AUDIO_ES;
p_fmt->i_codec = VLC_CODEC_A52; p_fmt->i_codec = VLC_CODEC_A52;
...@@ -4601,12 +4606,6 @@ static void PMTSetupEs0x06( demux_t *p_demux, ts_pes_t *p_pes, ...@@ -4601,12 +4606,6 @@ static void PMTSetupEs0x06( demux_t *p_demux, ts_pes_t *p_pes,
{ {
OpusSetup(p_demux, desc->p_data, desc->i_length, p_fmt); OpusSetup(p_demux, desc->p_data, desc->i_length, p_fmt);
} }
else if( PMTEsFindDescriptor( p_dvbpsies, 0x7a ) )
{
/* DVB with stream_type 0x06 (ETS EN 300 468) */
p_fmt->i_cat = AUDIO_ES;
p_fmt->i_codec = VLC_CODEC_EAC3;
}
else if( PMTEsHasRegistration( p_demux, p_dvbpsies, "DTS1" ) || else if( PMTEsHasRegistration( p_demux, p_dvbpsies, "DTS1" ) ||
PMTEsHasRegistration( p_demux, p_dvbpsies, "DTS2" ) || PMTEsHasRegistration( p_demux, p_dvbpsies, "DTS2" ) ||
PMTEsHasRegistration( p_demux, p_dvbpsies, "DTS3" ) || PMTEsHasRegistration( p_demux, p_dvbpsies, "DTS3" ) ||
......
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