FS#9543 - buffer underflow

Attached to Project: Rockbox
Opened by ersau (ersau) - Wednesday, 12 November 2008, 20:06 GMT
Last edited by Jonathan Gordon (jdgordon) - Tuesday, 09 December 2008, 10:18 GMT
Task Type Bugs
Category Music playback
Status Closed
Assigned To No-one
Operating System Archos Recorder
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


when listening music with high rate encoding (often VBR) the buffer in the view audio thread decrease until zero and the disk startup to fill it just before it reach zero. So the music cut the time of spining.
I notice too that the bitrate is not corrrectly reported (32kb in place of 224. The original archos firmware has not this bug but report a bad time duration which decrease like in fast forward instead to have steps by seconds. I have reproduced this bug on an older release of Rockbox.
I don't know how the stack is managed, i suppose by a calc about the bitrate. If this, it would be an idea to check the speed of decrease. the time of spin up of the HD and to adapt the algorithm to anticipate the underflow.
I had this bug with one of the first release of rockbox when i have tried to change the hard disk. The new one was a 7200 rpm and was too long to start so i keep my old 20GO.
You can too put a parameter to force the buffer to refill below a certain %

A great work notwhistanding :)

Size: 7,35 MB (15% of original, 6 to 1 compression)
Original Size: 46,1 MB
Length: 4 minutes 34 seconds
Channels: 2 (stereo)
Sample Rate: 44,1 KHz;
Sample Size: 16 bit
Bit Rate: 224 kbps
Encoder: LAME3.97U
Encoder Settings: Variable Bit Rate 224 kbps
Audio Quality: Very High (Lossy)
Play Count:
Last Played:
Channel Mapping: Left, Right
File: 09 MorrĂ², ma prima in grazia (Un ballo)
Type: Winamp media file [.mp3]

I think i have encoded this with dbpoweramp with lame encoder
This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Tuesday, 09 December 2008, 10:18 GMT
Reason for closing:  Not a Bug
Additional comments about closing:  details in the comments
Comment by Linus Nielsen Feltzing (linusnielsen) - Thursday, 13 November 2008, 11:19 GMT
The buffering system uses the bitrate to calculate the watermark. Your files don't have a VBR header, which contains the information needed to calculate the average bitrate.

You can fix the files with the "vbrfix" plugin. Navigate to the file, hold Play to bring up the context menu, then select "Open with" and then select "vbrfix" from the list of plugins.