/* Be sure we will read something */
p_sys->stream.i_used += tk->i_start + p_sys->stream.i_offset + i_read - tk->i_end;
}
- if( AStreamRefillStream( s ) ) break;
- }
-
- if( tk->i_end < tk->i_start + p_sys->stream.i_offset + i_read )
- {
- i_read = tk->i_end - tk->i_start - p_sys->stream.i_offset;
+ if( AStreamRefillStream( s ) )
+ {
+ if( tk->i_end < tk->i_start + p_sys->stream.i_offset )
+ return 0; /* EOF */
+ i_read = tk->i_end - tk->i_start - p_sys->stream.i_offset;
+ break;
+ }
}
-
/* Now, direct pointer or a copy ? */
i_off = (tk->i_start + p_sys->stream.i_offset) % STREAM_CACHE_TRACK_SIZE;
if( i_off + i_read <= STREAM_CACHE_TRACK_SIZE )