diff options
| author | Hardeep Sidhu <dyp@pobox.com> | 2002-08-25 05:11:25 +0000 |
|---|---|---|
| committer | Hardeep Sidhu <dyp@pobox.com> | 2002-08-25 05:11:25 +0000 |
| commit | c674415a162dbe8776197f82850a35339b61d632 (patch) | |
| tree | 2ffb5ba8a58910bd36232bcfe7203c5c66d53c9b | |
| parent | e60a999ca08545b8e699b6b8439387b66d390e38 (diff) | |
| download | rockbox-c674415a162dbe8776197f82850a35339b61d632.zip rockbox-c674415a162dbe8776197f82850a35339b61d632.tar.gz rockbox-c674415a162dbe8776197f82850a35339b61d632.tar.bz2 rockbox-c674415a162dbe8776197f82850a35339b61d632.tar.xz | |
Make sure there is sufficient data in buffer before resuming after ffw.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1970 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/mpeg.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c index 6f2b3df..d19cdf6 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c @@ -953,11 +953,18 @@ static void mpeg_thread(void) mp3buf_read += mp3buflen; } - playing = true; - last_dma_tick = current_tick; - init_dma(); - if (!paused) - start_dma(); + if (get_unplayed_space() < MPEG_LOW_WATER) + { + /* We need to load more data before starting */ + filling = true; + queue_post(&mpeg_queue, MPEG_NEED_DATA, 0); + play_pending = true; + } + else + { + /* resume will start at new position */ + init_dma(); + } } else { |