vlc | branch: master | Francois Cartegnie <[email protected]> | Sat Oct 29 15:23:55 2016 +0200| [c276a7d8685cd3d3b303d1b91aaff00983e14bf9] | committer: Francois Cartegnie
demux: ts: read component_id instead of memcmp > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c276a7d8685cd3d3b303d1b91aaff00983e14bf9 --- modules/demux/mpeg/ts_psi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/demux/mpeg/ts_psi.c b/modules/demux/mpeg/ts_psi.c index 023a2d3..6ee4db3 100644 --- a/modules/demux/mpeg/ts_psi.c +++ b/modules/demux/mpeg/ts_psi.c @@ -877,14 +877,16 @@ static void PMTSetupEs0x06( demux_t *p_demux, ts_pes_t *p_pes, /* and check that it maps to something ARIB STD B14 Table 5.1/5.2 */ if ( p_dr && p_dr->i_length >= 2 ) { - if( !memcmp( p_dr->p_data, "\x00\x08", 2 ) && + /* See STD-B10 Annex J, table J-1 mappings */ + const uint16_t i_data_component_id = GetWBE(p_dr->p_data); + if( i_data_component_id == 0x0008 && PMTEsHasComponentTagBetween( p_dvbpsies, 0x30, 0x37 ) ) { es_format_Init( p_fmt, SPU_ES, VLC_CODEC_ARIB_A ); p_fmt->psz_language = strndup ( "jpn", 3 ); p_fmt->psz_description = strdup( _("ARIB subtitles") ); } - else if( !memcmp( p_dr->p_data, "\x00\x12", 2 ) && + else if( i_data_component_id == 0x0012 && PMTEsHasComponentTagBetween( p_dvbpsies, 0x87, 0x88 ) ) { es_format_Init( p_fmt, SPU_ES, VLC_CODEC_ARIB_C ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
