summaryrefslogtreecommitdiff
path: root/firmware/mp3_playback.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-05-13 00:16:14 +0000
committerJens Arnold <amiconn@rockbox.org>2005-05-13 00:16:14 +0000
commit03d08ecc250ee095f46a77848bde28f162493276 (patch)
tree2076b2d4ce8551be8ae47fcfb577250bb16cdca8 /firmware/mp3_playback.c
parent61aa15969cce7a40ecac5243998ffe05129502b0 (diff)
downloadrockbox-03d08ecc250ee095f46a77848bde28f162493276.tar.gz
rockbox-03d08ecc250ee095f46a77848bde28f162493276.zip
(1) Wait for the MAS to run out of buffered data on fade out. Fixes bug #778930/#1189756. (2) Fade in/out from/to zero. (3) Always fade in 30 steps, independent of the global volume.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6463 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/mp3_playback.c')
-rw-r--r--firmware/mp3_playback.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/firmware/mp3_playback.c b/firmware/mp3_playback.c
index 67a5ff739b..a8d2d698eb 100644
--- a/firmware/mp3_playback.c
+++ b/firmware/mp3_playback.c
@@ -542,6 +542,19 @@ void mp3_play_pause(bool play)
542 paused = true; 542 paused = true;
543 cumulative_ticks += current_tick - playstart_tick; 543 cumulative_ticks += current_tick - playstart_tick;
544 } 544 }
545}
546
547bool mp3_pause_done(void)
548{
549 unsigned long frame_count;
550
551 if (!paused)
552 return false;
553
554 mas_readmem(MAS_BANK_D0, MAS_D0_MPEG_FRAME_COUNT, &frame_count, 1);
555 /* This works because the frame counter never wraps,
556 * i.e. zero always means lost sync. */
557 return frame_count == 0;
545} 558}
546 559
547void mp3_play_stop(void) 560void mp3_play_stop(void)