summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2007-10-08 09:09:40 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2007-10-08 09:09:40 +0000
commit16301880a147cee50dc49fc1890feaf28bb4edb1 (patch)
treed1322206a658135c71b7d726b1c6d58ca0133bdf /apps
parent46b7028f918101df9de81d698ad2c1bb09060bd3 (diff)
downloadrockbox-16301880a147cee50dc49fc1890feaf28bb4edb1.zip
rockbox-16301880a147cee50dc49fc1890feaf28bb4edb1.tar.gz
rockbox-16301880a147cee50dc49fc1890feaf28bb4edb1.tar.bz2
rockbox-16301880a147cee50dc49fc1890feaf28bb4edb1.tar.xz
Make sure that audio_resume() is not called in interrupt context when car adapter mode is enabled. Fixes FS#7304.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15034 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/misc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/apps/misc.c b/apps/misc.c
index 3d361f4..3a47d2f 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -800,6 +800,7 @@ static void car_adapter_mode_processing(bool inserted)
else
audio_pause();
}
+ waiting_to_resume_play = false;
}
}
}
@@ -812,7 +813,7 @@ static void car_adapter_tick(void)
{
if (audio_status() & AUDIO_STATUS_PAUSE)
{
- audio_resume();
+ queue_broadcast(SYS_CAR_ADAPTER_RESUME, 0);
}
waiting_to_resume_play = false;
}
@@ -892,6 +893,10 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame
case SYS_CHARGER_DISCONNECTED:
car_adapter_mode_processing(false);
return SYS_CHARGER_DISCONNECTED;
+
+ case SYS_CAR_ADAPTER_RESUME:
+ audio_resume();
+ return SYS_CAR_ADAPTER_RESUME;
#endif
#ifdef HAVE_HEADPHONE_DETECTION
case SYS_PHONE_PLUGGED: