vlc | branch: master | Francois Cartegnie <[email protected]> | Wed Mar 14 11:12:50 2018 +0100| [ebfff8ab2948ead7cd1f563a3edb87428672b8eb] | committer: Francois Cartegnie
mux: ts: fix and always set DTS descriptor > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ebfff8ab2948ead7cd1f563a3edb87428672b8eb --- 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 f6aa8be3a7..ba9eb73633 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(vlc_popcount(p_stream->fmt->audio.i_bytes_per_frame) == 1) + if(vlc_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
