vlc | branch: master | Jean-Baptiste Kempf <[email protected]> | Mon Nov 12 20:12:05 2012 +0100| [29c4138de9e23575c109999edeefee3f41b81ebc] | committer: Jean-Baptiste Kempf
DTS in wav: check frame size Close #7282 > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=29c4138de9e23575c109999edeefee3f41b81ebc --- modules/demux/mpeg/es.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/modules/demux/mpeg/es.c b/modules/demux/mpeg/es.c index 742bd7c..1807d6b 100644 --- a/modules/demux/mpeg/es.c +++ b/modules/demux/mpeg/es.c @@ -920,8 +920,22 @@ static int A52Init( demux_t *p_demux ) *****************************************************************************/ static int DtsCheckSync( const uint8_t *p_peek, int *pi_samples ) { - /* TODO return frame size for robustness */ - return SyncCode( p_peek ); + unsigned int i_sample_rate, i_bit_rate, i_frame_length, i_audio_mode; + bool b_dts_hd; + + VLC_UNUSED(pi_samples); + + int i_frame_size = GetSyncInfo( p_peek, + &b_dts_hd, + &i_sample_rate, + &i_bit_rate, + &i_frame_length, + &i_audio_mode ); + + if( i_frame_size != VLC_EGENERIC && i_frame_size <= 8192 ) + return VLC_SUCCESS; + else + return VLC_EGENERIC; } static int DtsProbe( demux_t *p_demux, int64_t *pi_offset ) _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
