FS#5797 - Codec failure with directory skip when in file browser

Attached to Project: Rockbox
Opened by Simon Menzel (Rincewind) - Friday, 11 August 2006, 13:27 GMT
Last edited by Nicolas Pennequin (nicolas_p) - Wednesday, 09 January 2008, 20:37 GMT
Task Type Bugs
Category Music playback
Status Closed
Assigned To No-one
Operating System SW-codec
Severity Medium
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


When automatic directory change is enabled and the player is in the file browser when the dir skip is about to happen, rockbox fails to load the next track (in the next folder). Instead there is a splash "codec failure" and rockbox tries to load different files but fails there, too and so on.

Steps to get this bug:

1. Enable automatic directory change
2. Play the last file in a directory (this also happens if the last file is reached "naturally")
3. When the file plays, enter the browser by pressing Navi, but don't select a new file
4. When playing file ends, the disc spins up and tries to load the first song in the next folder but it is not starting, instead I get the splash "codec failure!" or "can't load codec". Then Rockbox tries to load a different file and fails again and so on. If you enter the wps when this is happening (by pressing PLAY) the WPS says "No file!"

Eventually Rockbox continues playing if you enter the wps again with PLAY, but many folders/files down.

Crossfade on/off doesn't have an effect.
Tested by me on H120, stripwax got the bug on ipod 5g
This task depends upon

Closed by  Nicolas Pennequin (nicolas_p)
Wednesday, 09 January 2008, 20:37 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed in r16039.
Comment by Eddy (bascule) - Friday, 11 August 2006, 14:49 GMT
Also tested with same result on .ogg files

See this thread from this point for discussion:
Comment by Simon Menzel (Rincewind) - Saturday, 12 August 2006, 16:57 GMT
More Tests by me. It has something to do with dir cache. More details + logf can be found here:
Comment by Steve Bavin (pondlife) - Monday, 06 November 2006, 10:25 GMT
Hi Simon,

Has this been fixed now? I suspect it has. Please can you retest with a CVS build and report back.
Comment by Simon Menzel (Rincewind) - Tuesday, 07 November 2006, 12:47 GMT
I don't have a build environment ready at the moment, If I get Linux running again I'll try and report.
Comment by Steve Bavin (pondlife) - Tuesday, 07 November 2006, 12:55 GMT
Hi Simon,

No need for a build environment, just download a current build from ...
Comment by Simon Menzel (Rincewind) - Wednesday, 08 November 2006, 22:05 GMT
Unfortunately, the bug still exists. I tried with a fresh unpatched cvs build. And it doesn't have something to do with dircache. I get this bug with default settings except "auto change directory: on" and "Repeat: off"
Comment by Jonathan Gordon (jdgordon) - Monday, 30 July 2007, 11:13 GMT
just tried this twice on my sansa and couldnt reproduce.
edit: woops, definatly a dircache issue...
Comment by Steve Bavin (pondlife) - Monday, 30 July 2007, 11:15 GMT
It's likely still in there - stripwax showed it to us at DevConPub2 last week.
Comment by Robert Keevil (obo) - Monday, 30 July 2007, 11:22 GMT
I can only reproduce this with dircache enabled.
Comment by Raúl Núñez de Arenas Coronado (DervishD) - Tuesday, 31 July 2007, 17:34 GMT
I can reproduce it in my iAudio X5V (I have dircache enabled, so...). I'm using 13968-070724.
Comment by Nicolas Pennequin (nicolas_p) - Monday, 19 November 2007, 23:18 GMT
I was able to reproduce this problem easily in r15698.
Comment by Nicolas Pennequin (nicolas_p) - Wednesday, 09 January 2008, 01:34 GMT
I've been able to reproduce again on target (Gigabeat), but not in the sim. Has anyone managed to reproduce in the sim?
Comment by Simon Menzel (Rincewind) - Wednesday, 09 January 2008, 04:32 GMT
I have tried to reproduce it on the (H120) sim and on my sansa. It didn't occcur on either so I think it is dircache related.
I haven't updated my H120 for ages, but I just tried it on H120 target without dircache and the bug didn't happen (with dircache enabled it does happen). If anyone wants to debug this it is most likely in the dircache code somewhere...
If it is possible to enable dircache in the sim it might help to use GDB for debugging. I haven't tried this, yet.