This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#10874 - no track will play after playing a deleted, semi-buffered track
Attached to Project:
Rockbox
Opened by Johannes Linke (Jaykay) - Thursday, 24 December 2009, 12:57 GMT+2
Last edited by sideral (sideral) - Monday, 25 April 2011, 13:23 GMT+2
Opened by Johannes Linke (Jaykay) - Thursday, 24 December 2009, 12:57 GMT+2
Last edited by sideral (sideral) - Monday, 25 April 2011, 13:23 GMT+2
|
Detailsto reproduce:
1. start a big (20mb or more) track. delete it immidiately after starting it. 2. let the song play until it stops. i guess it stops at the end of the buffer. as an alternative you can ff to the end of the track (which shouldn't be buffered) 3. now you're not able to play any track. if you select a new one from the file browser or database, the wps will show up, but nothing is played and the progress bar won't progress. ff and rw also don 't work. only rebooting helps. shutting down needs really long (~15s). if you delete a fully buffered song, everything works as expected (well, the song continues till the end, and the next song starts. some devs call that "expected" :D ). tested with r24091 and an e200, although i guess that the bug is target independent and occurs in the last few thousand revisions :) |
This task depends upon
http://www.rockbox.org/tracker/task/10885?project=1&type=2&order=dateopened&sort=desc
Guess I should have searched first.
kugel, your patch doesn't apply to current svn any longer, and it wasn't immediately obvious to me how to rebase it. I agree that buffering needs to be changed in the spirit of your patch as a safety measure (if that hasn't already happened), but perhaps this particular function (delete from WPS context menu) also should be handled from a higher level by explicitly stopping the current track and advancing the playlist.
If it can continue playing the deleted song it will, otherwise it will skip it as soon as it is deleted.
Buffering, as expected, stops and truncates the file at whatever read position it had at the moment of deletion (to my best estimation...the file should have filled the buffer had it been allowed to read it normally but stopped early because I got to deleting it quickl enough). Buffering will return failure if in fact a read is attempted in "no-man's land".