FS#7261 - "Pause on Headphone unplug" option no longer works on IPods.

Attached to Project: Rockbox
Opened by Douglas Valentine (Dwyloc) - Tuesday, 05 June 2007, 17:00 GMT
Last edited by Linus Nielsen Feltzing (linusnielsen) - Thursday, 05 July 2007, 11:18 GMT
Task Type Bugs
Category Music playback
Status Closed
Assigned To No-one
Operating System iPod 5G
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No


"Pause on Headphone unplug" option no longer works.

The WPS status will change to paused when you unplug the headphones but the progress bar keeps moving to pause playback you have to press pause twice. Once to change the icon to playing and a second time to change the icon back to paused and halt the audio playback.
This task depends upon

Closed by  Linus Nielsen Feltzing (linusnielsen)
Thursday, 05 July 2007, 11:18 GMT
Reason for closing:  Fixed
Comment by Robert Keevil (obo) - Wednesday, 06 June 2007, 08:43 GMT
I can't reproduce this - unplugging the headphones on my 5g in the WPS pauses the progress bar and changes the icon - in either the menu or file browser the icon on the status bar changes, and playback resumes at the correct point (ie it hasn't continued to play in the background).
Comment by Douglas Valentine (Dwyloc) - Wednesday, 06 June 2007, 09:50 GMT
Well it still happens for me with both the 32MB and 64MB builds on my 5.5G 80GB ipod under the rockbox default WPS
and pausing on headphone unplug still works fine under the retail OS so its not a hardware problem.

My settings are as follows:
Start screen: Resume Playback
Pause on Headphone Unplug : Pause and Resume
Duration to Rewind: 1 s
Disable resume on startup if phones unplugged: Yes

Steps to reproduce.

1. Boot ipod with headphones connected and wait for playback to resume.
2. pause playback with pause button.
3. unplug headphones

Playback should now resume while the status stays at paused and the peek
meeter's start showing playback has resumed and the played time starts increasing.
Comment by Robert Keevil (obo) - Wednesday, 06 June 2007, 21:54 GMT
The problem only occurs when the rewind option is enabled. It seems like the call to audio_ff_rewind causes playback to resume without updating the WPS status (it shouldn't resume in the first place??).
Nothing I've tried so far has worked - if it is a fault in the rewind function (and not just expected behaviour), it might need a playback.c guru to help.
Comment by Robert Keevil (obo) - Sunday, 10 June 2007, 11:27 GMT
I think this is a duplicate of  FS#7257  - just that it is triggered in a slightly different way.
Comment by Matthew (tedrock) - Monday, 11 June 2007, 20:33 GMT
just happened to me. could not reproduce it again
5.5g ipod fresh daily build
Comment by Harold Van (hsvsunshyn) - Monday, 25 June 2007, 22:55 GMT
I have a 4G (BW, not color) iPod with the 20070622 build on it. (Prior to upgrade, it was running a build from January.)

I had this problem, and it was reproducible. Everytime I unplugged the headphones, the Play/Pause icon switched to pause, but the track timer continued to count; it eventually went on to the next track, and it never shut down (auto-shutdown was set for 10 minutes).

Thanks fo Mr. Keevil, I disabled the rewind-on-resume (it had been set to two seconds). Now, pause on unplug and resume on plug work nominally.

(This is a painless workaround for me; but it should probably either be documented or fixed at some point.)
Comment by Douglas Valentine (Dwyloc) - Wednesday, 04 July 2007, 12:48 GMT
OK I have found the day the problem starts by testing clean builds
with "svn checkout svn:// -r {YYYY-MM-DD} rockbox" to checkout rockbox on different days.

I have tested the following builds:

2007-05-29 bust
2007-05-23 bust
2007-05-21 bust
2007-05-20 bust
2007-05-19 works
2007-05-18 works.

So now we know that the commit that caused the problem happened on the 19th and after looking throuth the commit messages it looks quite easy to stop the bad commit.

"19 May 19:30 Marcoen Hirschberg always reset the pcm_paused flag when stopping playback. fixes FS #7187"