summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorDan Everton <dan@iocaine.org>2009-06-17 08:47:51 +0000
committerDan Everton <dan@iocaine.org>2009-06-17 08:47:51 +0000
commitd52c6614c5d4711a6574981cd04c3e103551b608 (patch)
treefe0e5be3b44a6718e42a8502f2c6638a84d48ad9 /apps
parent72c65d7575cdf9277a27a5baf18eb013c629d223 (diff)
downloadrockbox-d52c6614c5d4711a6574981cd04c3e103551b608.tar.gz
rockbox-d52c6614c5d4711a6574981cd04c3e103551b608.zip
Commit FS#10335 from Jeffrey Goode.
Ensure that the PCM buffer is flushed at the end of the last track in a playlist. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21316 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/pcmbuf.c6
-rw-r--r--apps/pcmbuf.h1
-rw-r--r--apps/playback.c2
3 files changed, 9 insertions, 0 deletions
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c
index 47cb832be4..b8d8a0c8d0 100644
--- a/apps/pcmbuf.c
+++ b/apps/pcmbuf.c
@@ -1154,3 +1154,9 @@ bool pcmbuf_is_crossfade_enabled(void)
1154 1154
1155 return crossfade_enabled; 1155 return crossfade_enabled;
1156} 1156}
1157
1158void pcmbuf_play_remainder(void)
1159{
1160 if (audiobuffer_fillpos)
1161 pcmbuf_flush_fillpos();
1162}
diff --git a/apps/pcmbuf.h b/apps/pcmbuf.h
index b4e551f74d..4cb1c1acb7 100644
--- a/apps/pcmbuf.h
+++ b/apps/pcmbuf.h
@@ -75,5 +75,6 @@ void pcmbuf_beep(unsigned int frequency, size_t duration, int amplitude);
75 75
76int pcmbuf_used_descs(void); 76int pcmbuf_used_descs(void);
77int pcmbuf_descs(void); 77int pcmbuf_descs(void);
78void pcmbuf_play_remainder(void);
78 79
79#endif 80#endif
diff --git a/apps/playback.c b/apps/playback.c
index 2c526a711e..53d2181bcf 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -2182,6 +2182,8 @@ static void audio_stop_playback(void)
2182 /* If we were playing, save resume information */ 2182 /* If we were playing, save resume information */
2183 if (playing) 2183 if (playing)
2184 { 2184 {
2185 pcmbuf_play_remainder();
2186
2185 struct mp3entry *id3 = NULL; 2187 struct mp3entry *id3 = NULL;
2186 2188
2187 if (!ci.stop_codec) 2189 if (!ci.stop_codec)