FS#9213 - Fix for audio dropout after startup

Attached to Project: Rockbox
Opened by Martin Buck (foobar12345) - Friday, 25 July 2008, 22:54 GMT
Task Type Patches
Category Database
Status Unconfirmed
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 0%
Votes 0
Private No


Since a few weeks, I've been noticing short audio dropouts a few seconds after starting Rockbox on an iAudio X5. I haven't changed any settings recently (at least I can't remember anything :-) and I haven't done any Rockbox software upgrades. My guess is that's it's caused by my disk becoming more and more filled.

Using the debug log, I noticed that the dropouts happen after the "reverse scan..." message. The "audio thread" debug menu showed me that the dropouts are caused by PCM buffer underruns. So I added a yield()-call to the check_deleted_files() function and the dropouts were gone.

The patch below is against the latest SVN version. I tested it with an older Rockbox version, but the code looks sufficiently similar that I don't see why this shouldn't also work with the latest trunk. Could somebody please apply it?
This task depends upon

Comment by Rosso Maltese (asettico) - Wednesday, 25 February 2009, 15:19 GMT
Sync'ed against daily build of 2009-02-24 (r20096), just a line offset.

It seems that it fixes the drop out: me too I have a quite full HD (ipod video 80 GB, about 65 GB used).
But I want to test it more.

But the problem still happens more times when the DAP is rebuilding the dircache.
I think that in this case the problem has a different nature.
Comment by Rosso Maltese (asettico) - Tuesday, 03 March 2009, 14:21 GMT
I used RB normally, taking care that it doesn't rebuild the dircache: unfortunately, the problem is still present.

The HD is quite full, I will try to perform a "defrag" like operation, then I will inform you about the result
Comment by Rosso Maltese (asettico) - Tuesday, 17 March 2009, 11:29 GMT
Finally I "defrag'ed" the DAP: I just copied all the HD content to an external HD, emptied the DAP's HD, then re-copied all. I don't know a defrag tool for a GNU system, except for "pyfragtools", but I never tested it.

The dropouts are disappeared!
Just for curiosity, I would like to test with a daily build, without this patch.

Thank you very much.
Comment by Rosso Maltese (asettico) - Friday, 05 March 2010, 22:35 GMT
I never got the drop-out also without this patch. :-)