forked from len0rd/rockbox
Fix a (very unlikely) bug in buffering
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9611 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
b6607459c2
commit
73365c8bda
1 changed files with 4 additions and 10 deletions
|
|
@ -1590,17 +1590,11 @@ static void initialize_buffer_fill(bool start_play)
|
|||
/* Recalculate remaining bytes to buffer, but always leave extra
|
||||
* data for the currently playing codec to seek back into */
|
||||
size_t buf_bytesleft = filebuflen - filebufused;
|
||||
size_t subtract =
|
||||
MIN(MIN(AUDIO_REBUFFER_GUESS_SIZE, ci.curpos), buf_bytesleft);
|
||||
|
||||
if (buf_bytesleft > AUDIO_REBUFFER_GUESS_SIZE)
|
||||
fill_bytesleft = buf_bytesleft - AUDIO_REBUFFER_GUESS_SIZE;
|
||||
else
|
||||
fill_bytesleft = 0;
|
||||
|
||||
if (ci.curpos > AUDIO_REBUFFER_GUESS_SIZE)
|
||||
tracks[track_ridx].start_pos =
|
||||
ci.curpos - AUDIO_REBUFFER_GUESS_SIZE;
|
||||
else
|
||||
tracks[track_ridx].start_pos = 0;
|
||||
fill_bytesleft = buf_bytesleft - subtract;
|
||||
tracks[track_ridx].start_pos = ci.curpos - subtract;
|
||||
}
|
||||
|
||||
logf("Starting buffer fill");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue