From 76f9bfa9455f14d58f559158c1e343dfe7e5e0ac Mon Sep 17 00:00:00 2001 From: Brandon Low Date: Mon, 5 Nov 2007 17:50:51 +0000 Subject: When seeking foward off of the buffer, if it is a short seek don't rebuffer the whole track, just read enough to satisfy git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15479 a1c6a512-1295-4272-9138-f99709370657 --- apps/buffering.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'apps/buffering.c') diff --git a/apps/buffering.c b/apps/buffering.c index 651ec4c2ff..5a67f25038 100644 --- a/apps/buffering.c +++ b/apps/buffering.c @@ -650,6 +650,14 @@ static void rebuffer_handle(int handle_id, size_t newpos) if (!h) return; + if (newpos > h->offset && newpos - h->offset < BUFFERING_DEFAULT_FILECHUNK) + { + LOGFQUEUE("buffering >| Q_BUFFER_HANDLE"); + queue_send(&buffering_queue, Q_BUFFER_HANDLE, handle_id); + h->ridx = h->data + newpos; + return; + } + h->offset = newpos; LOGFQUEUE("buffering >| Q_RESET_HANDLE"); -- cgit v1.2.3