vlc | branch: master | Francois Cartegnie <[email protected]> | Fri Jun 6 12:22:15 2014 +0200| [2815ff05ba582c3a2d71f9c912a57873b0a62d2f] | committer: Francois Cartegnie
demux: mp4: fully read uncompressed samples (fix #11572) > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2815ff05ba582c3a2d71f9c912a57873b0a62d2f --- modules/demux/mp4/mp4.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c index 8bbd687..a94fc19 100644 --- a/modules/demux/mp4/mp4.c +++ b/modules/demux/mp4/mp4.c @@ -3408,17 +3408,18 @@ static uint32_t MP4_TrackGetReadSize( mp4_track_t *p_track, uint32_t *pi_nb_samp /* uncompressed */ *pi_nb_samples = 0; - mtime_t i_length = CLOCK_FREQ / 10; - for( uint32_t i=p_track->i_sample; i<p_chunk->i_sample_count; i++ ) + for( uint32_t i=p_track->i_sample; + i<p_chunk->i_sample_first+p_chunk->i_sample_count && + i<p_track->i_sample_count; + i++ ) { - i_length -= CLOCK_FREQ * p_chunk->p_sample_delta_dts[i] / p_track->i_timescale; - if ( i_length < 0 || *pi_nb_samples == QT_V0_MAX_SAMPLES ) - break; (*pi_nb_samples)++; if ( p_track->i_sample_size == 0 ) i_size += p_track->p_sample_size[i]; else i_size += p_track->i_sample_size; + if ( *pi_nb_samples == QT_V0_MAX_SAMPLES ) + break; } } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
