1
0
Fork 0
forked from len0rd/rockbox

Fix FS 8753, JdGordon started it, I finished it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16692 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Brandon Low 2008-03-18 07:01:23 +00:00
parent 6d8b827472
commit 7b1de20544

View file

@ -862,24 +862,35 @@ void car_adapter_mode_init(void)
#ifdef HAVE_HEADPHONE_DETECTION #ifdef HAVE_HEADPHONE_DETECTION
static void unplug_change(bool inserted) static void unplug_change(bool inserted)
{ {
static bool headphone_caused_pause = false;
if (global_settings.unplug_mode) if (global_settings.unplug_mode)
{ {
int audio_stat = audio_status();
if (inserted) if (inserted)
{ {
if ( global_settings.unplug_mode > 1 ) if ((audio_stat & AUDIO_STATUS_PLAY) &&
headphone_caused_pause &&
global_settings.unplug_mode > 1 )
audio_resume(); audio_resume();
backlight_on(); backlight_on();
headphone_caused_pause = false;
} else { } else {
audio_pause(); if ((audio_stat & AUDIO_STATUS_PLAY) &&
!(audio_stat & AUDIO_STATUS_PAUSE))
if (global_settings.unplug_rw)
{ {
if ( audio_current_track()->elapsed > headphone_caused_pause = true;
(unsigned long)(global_settings.unplug_rw*1000)) audio_pause();
audio_ff_rewind(audio_current_track()->elapsed -
(global_settings.unplug_rw*1000)); if (global_settings.unplug_rw)
else {
audio_ff_rewind(0); if (audio_current_track()->elapsed >
(unsigned long)(global_settings.unplug_rw*1000))
audio_ff_rewind(audio_current_track()->elapsed -
(global_settings.unplug_rw*1000));
else
audio_ff_rewind(0);
}
} }
} }
} }