Commit c482de12 authored by Rafaël Carré's avatar Rafaël Carré

fix #1404

parent 9d349e1c
...@@ -730,8 +730,8 @@ static int AStreamReadBlock( stream_t *s, void *p_read, int i_read ) ...@@ -730,8 +730,8 @@ static int AStreamReadBlock( stream_t *s, void *p_read, int i_read )
p_sys->block.i_offset = 0; p_sys->block.i_offset = 0;
p_sys->block.p_current = p_sys->block.p_current->p_next; p_sys->block.p_current = p_sys->block.p_current->p_next;
} }
/*Get a new block */ /*Get a new block if needed */
if( AStreamRefillBlock( s ) ) if( !p_sys->block.p_current && AStreamRefillBlock( s ) )
{ {
break; break;
} }
...@@ -915,13 +915,13 @@ static int AStreamSeekBlock( stream_t *s, int64_t i_pos ) ...@@ -915,13 +915,13 @@ static int AStreamSeekBlock( stream_t *s, int64_t i_pos )
else else
{ {
/* Read enough data */ /* Read enough data */
while( p_sys->block.i_start + p_sys->block.i_size <= i_pos ) while( p_sys->block.i_start + p_sys->block.i_size < i_pos )
{ {
if( AStreamRefillBlock( s ) ) if( AStreamRefillBlock( s ) )
return VLC_EGENERIC; return VLC_EGENERIC;
while( p_sys->block.p_current && while( p_sys->block.p_current &&
p_sys->i_pos + p_sys->block.p_current->i_buffer <= i_pos ) p_sys->i_pos + p_sys->block.p_current->i_buffer < i_pos )
{ {
p_sys->i_pos += p_sys->block.p_current->i_buffer; p_sys->i_pos += p_sys->block.p_current->i_buffer;
p_sys->block.p_current = p_sys->block.p_current->p_next; p_sys->block.p_current = p_sys->block.p_current->p_next;
......
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