Commit 21c8fcc8 authored by Francois Cartegnie's avatar Francois Cartegnie

demux: mp4: fix reading elst

parent b6b90af6
...@@ -2261,19 +2261,21 @@ static int MP4_ReadBox_elst( stream_t *p_stream, MP4_Box_t *p_box ) ...@@ -2261,19 +2261,21 @@ static int MP4_ReadBox_elst( stream_t *p_stream, MP4_Box_t *p_box )
MP4_READBOX_EXIT( 0 ); MP4_READBOX_EXIT( 0 );
} }
unsigned i;
for( unsigned i = 0; i < p_box->data.p_elst->i_entry_count; i++ ) for( i = 0; i < p_box->data.p_elst->i_entry_count; i++ )
{ {
if( p_box->data.p_elst->i_version == 1 ) if( p_box->data.p_elst->i_version == 1 )
{ {
if ( i_read < 20 )
break;
MP4_GET8BYTES( p_box->data.p_elst->i_segment_duration[i] ); MP4_GET8BYTES( p_box->data.p_elst->i_segment_duration[i] );
MP4_GET8BYTES( p_box->data.p_elst->i_media_time[i] ); MP4_GET8BYTES( p_box->data.p_elst->i_media_time[i] );
} }
else else
{ {
if ( i_read < 12 )
break;
MP4_GET4BYTES( p_box->data.p_elst->i_segment_duration[i] ); MP4_GET4BYTES( p_box->data.p_elst->i_segment_duration[i] );
MP4_GET4BYTES( p_box->data.p_elst->i_media_time[i] ); MP4_GET4BYTES( p_box->data.p_elst->i_media_time[i] );
...@@ -2283,7 +2285,8 @@ static int MP4_ReadBox_elst( stream_t *p_stream, MP4_Box_t *p_box ) ...@@ -2283,7 +2285,8 @@ static int MP4_ReadBox_elst( stream_t *p_stream, MP4_Box_t *p_box )
MP4_GET2BYTES( p_box->data.p_elst->i_media_rate_integer[i] ); MP4_GET2BYTES( p_box->data.p_elst->i_media_rate_integer[i] );
MP4_GET2BYTES( p_box->data.p_elst->i_media_rate_fraction[i] ); MP4_GET2BYTES( p_box->data.p_elst->i_media_rate_fraction[i] );
} }
if ( i < p_box->data.p_elst->i_entry_count )
p_box->data.p_elst->i_entry_count = i;
#ifdef MP4_VERBOSE #ifdef MP4_VERBOSE
msg_Dbg( p_stream, "read box: \"elst\" entry-count %lu", msg_Dbg( p_stream, "read box: \"elst\" entry-count %lu",
(unsigned long)p_box->data.p_elst->i_entry_count ); (unsigned long)p_box->data.p_elst->i_entry_count );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment