[vlc-commits] demux: mp4: fully read uncompressed samples (fix #11572)
Francois Cartegnie
git at videolan.org
Fri Jun 6 12:29:18 CEST 2014
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | 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;
}
}
More information about the vlc-commits
mailing list