vlc/vlc-3.0 | branch: master | Francois Cartegnie <[email protected]> | Wed Mar 14 11:12:50 2018 +0100| [9d93eb5e2a3226712a044c64ab8bc822bb4221a2] | committer: Francois Cartegnie
mux: ts: fix and always set DTS descriptor (cherry picked from commit ebfff8ab2948ead7cd1f563a3edb87428672b8eb) > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=9d93eb5e2a3226712a044c64ab8bc822bb4221a2 --- modules/mux/mpeg/tables.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/mux/mpeg/tables.c b/modules/mux/mpeg/tables.c index ef46a42757..edf6445517 100644 --- a/modules/mux/mpeg/tables.c +++ b/modules/mux/mpeg/tables.c @@ -543,16 +543,18 @@ void BuildPMT( dvbpsi_t *p_dvbpsi, vlc_object_t *p_object, } else if( p_stream->fmt->i_codec == VLC_CODEC_DTS ) { + uint8_t i_ver; /* DTS registration descriptor (ETSI TS 101 154 Annex F) */ - if(popcount(p_stream->fmt->audio.i_bytes_per_frame) == 1) + if(popcount(p_stream->fmt->audio.i_frame_length) == 1) { - uint8_t i_ver = ctz( p_stream->fmt->audio.i_bytes_per_frame >> 8 ); - if(i_ver > 0 && i_ver < 4) - { - uint8_t data[4] = { 'D', 'T', 'S', '0' + i_ver }; - dvbpsi_pmt_es_descriptor_add( p_es, 0x05, 4, data ); - } + i_ver = ctz( p_stream->fmt->audio.i_frame_length >> 8 ); + if(i_ver == 0 || i_ver > 3) + i_ver = 1; + i_ver += '0'; } + else i_ver = '0'; + uint8_t data[4] = { 'D', 'T', 'S', i_ver }; + dvbpsi_pmt_es_descriptor_add( p_es, 0x05, 4, data ); } else if( p_stream->fmt->i_codec == VLC_CODEC_A52 ) { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
