summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorRobert Keevil <rkeevil+rockbox@gmail.com>2007-07-05 10:19:06 +0000
committerRobert Keevil <rkeevil+rockbox@gmail.com>2007-07-05 10:19:06 +0000
commit7785d6949efdb768e32f20097b9c9a4e9b41b0ca (patch)
treee5a09a126ee641d852b9560370312c2f006f6cad /firmware
parent391e944b8ea930a12f6f1561000a3cc299f4e4d7 (diff)
Temporary fix for FS#7257 and FS#7261 - playback resumes while paused when seeking
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13795 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/pcm_playback.c3
-rw-r--r--firmware/target/arm/pcm-pp.c3
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c3
-rw-r--r--firmware/target/coldfire/pcm-coldfire.c3
4 files changed, 8 insertions, 4 deletions
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index 80f7e1f6b2..d81853e1cb 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -78,7 +78,8 @@ void pcm_play_dma_start(const void *addr, size_t size)
void pcm_play_dma_stop(void)
{
pcm_playing = false;
- pcm_paused = false;
+ if (!audio_status())
+ pcm_paused = false;
}
void pcm_play_pause_pause(void)
diff --git a/firmware/target/arm/pcm-pp.c b/firmware/target/arm/pcm-pp.c
index 35bcd343cb..29e5275745 100644
--- a/firmware/target/arm/pcm-pp.c
+++ b/firmware/target/arm/pcm-pp.c
@@ -254,7 +254,8 @@ void pcm_play_dma_start(const void *addr, size_t size)
void pcm_play_dma_stop(void)
{
pcm_playing = false;
- pcm_paused = false;
+ if (!audio_status())
+ pcm_paused = false;
#ifdef CPU_PP502x
/* Disable playback FIFO and interrupt */
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 0624aa6f2f..57873faaff 100644
--- a/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c
@@ -168,7 +168,8 @@ static void pcm_play_dma_stop_fiq(void)
while (IISCON & (1<<7)) ;
pcm_playing = false;
- pcm_paused = false;
+ if (!audio_status())
+ pcm_paused = false;
}
/* Disconnect the IIS clock */
diff --git a/firmware/target/coldfire/pcm-coldfire.c b/firmware/target/coldfire/pcm-coldfire.c
index 41aa9fbc61..315479f115 100644
--- a/firmware/target/coldfire/pcm-coldfire.c
+++ b/firmware/target/coldfire/pcm-coldfire.c
@@ -216,7 +216,8 @@ void pcm_play_dma_start(const void *addr, size_t size)
static void pcm_play_dma_stop_irq(void)
{
pcm_playing = false;
- pcm_paused = false;
+ if (!audio_status())
+ pcm_paused = false;
DSR0 = 1;
DCR0 = 0;