summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2006-07-03 21:23:14 +0000
committerDave Chapman <dave@dchapman.com>2006-07-03 21:23:14 +0000
commitb1a272eee20cd3ca616432e81ca9adccc8f55e29 (patch)
treeb4f75d97ffc2cc4627807ccb2816ec3737e49586 /apps
parent9ad33fe4b0a871dcccb68f9548d994321cb25282 (diff)
downloadrockbox-b1a272eee20cd3ca616432e81ca9adccc8f55e29.tar.gz
rockbox-b1a272eee20cd3ca616432e81ca9adccc8f55e29.zip
Patch by Mark Arigo to close bug report #5305 - fixes crashes when attempting to seek beyond the currently buffered data.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10181 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/playback.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/playback.c b/apps/playback.c
index ecfb93363e..4fc0c33921 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1074,10 +1074,12 @@ static void rebuffer_and_seek(size_t newpos)
1074 last_peek_offset = 0; 1074 last_peek_offset = 0;
1075 initialize_buffer_fill(true); 1075 initialize_buffer_fill(true);
1076 1076
1077 if (newpos > AUDIO_REBUFFER_GUESS_SIZE) 1077 if (newpos > AUDIO_REBUFFER_GUESS_SIZE) {
1078 buf_ridx += AUDIO_REBUFFER_GUESS_SIZE;
1078 cur_ti->start_pos = newpos - AUDIO_REBUFFER_GUESS_SIZE; 1079 cur_ti->start_pos = newpos - AUDIO_REBUFFER_GUESS_SIZE;
1079 else 1080 } else {
1080 cur_ti->start_pos = 0; 1081 cur_ti->start_pos = 0;
1082 }
1081 1083
1082 cur_ti->filerem = cur_ti->filesize - cur_ti->start_pos; 1084 cur_ti->filerem = cur_ti->filesize - cur_ti->start_pos;
1083 cur_ti->available = 0; 1085 cur_ti->available = 0;