vlc | branch: master | Francois Cartegnie <[email protected]> | Mon Apr 13 18:10:08 2015 +0200| [1a1f872fae4ecb85fb329a51e34067c4827fb79d] | committer: Francois Cartegnie
demux: mp4: fix AMR/v0 compressed chunks (fix #14352) AMR is declared as V0, uncompressed chunk. Reading a max of 1024 samples in that case is too much. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1a1f872fae4ecb85fb329a51e34067c4827fb79d --- modules/demux/mp4/mp4.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c index 642c3ab..bcdf6d0 100644 --- a/modules/demux/mp4/mp4.c +++ b/modules/demux/mp4/mp4.c @@ -3124,8 +3124,18 @@ static uint32_t MP4_TrackGetReadSize( mp4_track_t *p_track, uint32_t *pi_nb_samp break; } - if ( *pi_nb_samples == QT_V0_MAX_SAMPLES ) - break; + switch( p_track->fmt.i_codec ) + { + case VLC_CODEC_AMR_NB: + case VLC_CODEC_AMR_WB: + if ( *pi_nb_samples == 16 ) + i = UINT32_MAX; + break; + default: + if ( *pi_nb_samples == QT_V0_MAX_SAMPLES ) + i = UINT32_MAX; + break; + } } } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
