FS#9391 - playback engine gets confused by multiple simultaneous button presses

Attached to Project: Rockbox
Opened by Frank Gevaerts (fg) - Tuesday, 09 September 2008, 18:49 GMT
Last edited by Jonathan Gordon (jdgordon) - Tuesday, 07 February 2012, 11:07 GMT
Task Type Bugs
Category Music playback
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Easiest way to reproduce:

seek forward in a file. Don't release the seek button
press play button, and keep pressed
release seek button
release play button

Now the WPS still shows the seek icon, but the progress bar doesn't advance and no music plays. No button works until you seek again.

(seen on c200, ipod mini and x5l)
This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Tuesday, 07 February 2012, 11:07 GMT
Reason for closing:  Fixed
Additional comments about closing:  in a2f2845
Comment by Thomas Schott (scotty) - Wednesday, 10 September 2008, 09:41 GMT
Reproduced with exact the same behaviour on ipod color.
Comment by Tomasz Wasilczyk (tomkiewicz) - Monday, 15 September 2008, 21:55 GMT
on c200 (r18359) there is the same problem. I also noticed:
- power (long press) and hold buttons works properly
- backlight works ok: it turns off after one minute and turns on after pressing any button (but that button makes no other action)
Comment by Boris Gjenero (dreamlayers) - Monday, 30 March 2009, 06:06 GMT
Reproduced on 30GB 5G iPod running r20573 and playing an MP3 album.
Sequence is: 1) press seek button, 2) press menu, centre or play/pause button, 3) release seek button, 4) release other button
Seeking stops when the other button is pressed. Only way out seems to be power off or seeking. Regardless of the seek button pressed, the first seek is in the same direction as the original seek.
If the other button is released before the seek button (ie. steps 3 and 4 are reversed) seeking resumes when the other button is released, and everything is normal afterwards.

I've also encountered similar playback freezes by quickly seeking back and forth, without pressing two buttons at the same time. (That's how I found this FS task.) Beginning a seek while the previous seek icon is still on the WPS can cause the old seek icon to remain until the end of the new seek (possibly showing the wrong seek direction). I don't know if these are related to this task.
Comment by Austin Appel (scorche) - Friday, 01 May 2009, 06:57 GMT
Reproduced on an iriver H300 running r20820 playing a wavpack recording.
Sequence seems to be 1) press and hold seek button, 2) press + and navi at roughly the same time 3) release buttons
Then appears frozen with same experience as dreamlayers - Only way out seems to be power off or seeking. Regardless of the seek button pressed, the first seek is in the same direction as the original seek.
Comment by Steve Bavin (pondlife) - Thursday, 28 April 2011, 13:30 GMT
Has this been resolved by the recent playback rework?
Comment by Michael Sevakis (MikeS) - Saturday, 30 April 2011, 13:40 GMT
Possibly not, since the WPS code handles keypresses, not the playback engine.
Comment by Steve Bavin (pondlife) - Sunday, 01 May 2011, 11:49 GMT
You're correct - I can easily reproduce it in a simulator.

Looks like the ffwd_rew() code in wps.c is the problem. If it isn't factored out completely, it should at least be static (and maybe button should be a long too)....