summaryrefslogtreecommitdiff
path: root/firmware/mpeg.c
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2004-04-09 21:03:09 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2004-04-09 21:03:09 +0000
commit66cda8cab1ea9b3d4e0a773c5e4cd0dd1389bc44 (patch)
tree750ec486f7e8e97fab6b5f791c921b88f265ba20 /firmware/mpeg.c
parent361dd29cadda4a5476f20b642aab6cbe3d6877ff (diff)
downloadrockbox-66cda8cab1ea9b3d4e0a773c5e4cd0dd1389bc44.zip
rockbox-66cda8cab1ea9b3d4e0a773c5e4cd0dd1389bc44.tar.gz
rockbox-66cda8cab1ea9b3d4e0a773c5e4cd0dd1389bc44.tar.bz2
rockbox-66cda8cab1ea9b3d4e0a773c5e4cd0dd1389bc44.tar.xz
Fixed bug #932467, where there could be a deadlock if you pause the playback before the initial bitswapping is done
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4482 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/mpeg.c')
-rw-r--r--firmware/mpeg.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index ef0c25a..d455166 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -892,12 +892,12 @@ static void start_playback_if_ready(void)
play_pending = false;
playing = true;
+ last_dma_chunk_size = MIN(0x2000, get_unplayed_space_current_song());
+ mp3_play_data(mp3buf + mp3buf_read, last_dma_chunk_size, transfer_end);
+ dma_underrun = false;
+
if (!paused)
{
- last_dma_chunk_size = MIN(0x2000, get_unplayed_space_current_song());
- mp3_play_data(mp3buf + mp3buf_read, last_dma_chunk_size, transfer_end);
- dma_underrun = false;
-
last_dma_tick = current_tick;
mp3_play_pause(true);
}