summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcoen Hirschberg <marcoen@gmail.com>2007-05-19 19:30:08 +0000
committerMarcoen Hirschberg <marcoen@gmail.com>2007-05-19 19:30:08 +0000
commiteb7603f1c540cad4af4661fd6461dd56a4436a8e (patch)
treef574c77701b75b99ee341ddbbd77b1c252db97f1
parent94a372524ae8b56349c8eeccf5431fbd6742a78d (diff)
downloadrockbox-eb7603f1c540cad4af4661fd6461dd56a4436a8e.tar.gz
rockbox-eb7603f1c540cad4af4661fd6461dd56a4436a8e.zip
always reset the pcm_paused flag when stopping playback. fixes FS #7187
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13423 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/pcm_playback.c1
-rw-r--r--firmware/target/arm/pcm-pp.c1
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c1
-rw-r--r--firmware/target/coldfire/pcm-coldfire.c3
4 files changed, 4 insertions, 2 deletions
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index 66a6fdc957..4194da6a9a 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -78,6 +78,7 @@ void pcm_play_dma_start(const void *addr, size_t size)
78void pcm_play_dma_stop(void) 78void pcm_play_dma_stop(void)
79{ 79{
80 pcm_playing = false; 80 pcm_playing = false;
81 pcm_paused = false;
81} 82}
82 83
83void pcm_play_pause_pause(void) 84void pcm_play_pause_pause(void)
diff --git a/firmware/target/arm/pcm-pp.c b/firmware/target/arm/pcm-pp.c
index 6ecc3dae31..5aa27dd12f 100644
--- a/firmware/target/arm/pcm-pp.c
+++ b/firmware/target/arm/pcm-pp.c
@@ -248,6 +248,7 @@ void pcm_play_dma_start(const void *addr, size_t size)
248void pcm_play_dma_stop(void) 248void pcm_play_dma_stop(void)
249{ 249{
250 pcm_playing = false; 250 pcm_playing = false;
251 pcm_paused = false;
251 252
252#if CONFIG_CPU == PP5020 || CONFIG_CPU == PP5024 253#if CONFIG_CPU == PP5020 || CONFIG_CPU == PP5024
253 254
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c
index 52ab3f165f..592842668d 100644
--- a/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c
@@ -167,6 +167,7 @@ static void pcm_play_dma_stop_fiq(void)
167 while (IISCON & (1<<7)) ; 167 while (IISCON & (1<<7)) ;
168 168
169 pcm_playing = false; 169 pcm_playing = false;
170 pcm_paused = false;
170 } 171 }
171 172
172 /* De-Activate the DMA channel */ 173 /* De-Activate the DMA channel */
diff --git a/firmware/target/coldfire/pcm-coldfire.c b/firmware/target/coldfire/pcm-coldfire.c
index faddf70470..b52e5e09b5 100644
--- a/firmware/target/coldfire/pcm-coldfire.c
+++ b/firmware/target/coldfire/pcm-coldfire.c
@@ -216,6 +216,7 @@ void pcm_play_dma_start(const void *addr, size_t size)
216static void pcm_play_dma_stop_irq(void) 216static void pcm_play_dma_stop_irq(void)
217{ 217{
218 pcm_playing = false; 218 pcm_playing = false;
219 pcm_paused = false;
219 220
220 DSR0 = 1; 221 DSR0 = 1;
221 DCR0 = 0; 222 DCR0 = 0;
@@ -223,8 +224,6 @@ static void pcm_play_dma_stop_irq(void)
223 /* Place TX FIFO in reset condition if playback monitoring is on. 224 /* Place TX FIFO in reset condition if playback monitoring is on.
224 Recording monitoring something else should not be stopped. */ 225 Recording monitoring something else should not be stopped. */
225 iis_play_reset_if_playback(true); 226 iis_play_reset_if_playback(true);
226
227 pcm_playing = false;
228} /* pcm_play_dma_stop_irq */ 227} /* pcm_play_dma_stop_irq */
229 228
230void pcm_play_dma_stop(void) 229void pcm_play_dma_stop(void)