This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#8836 - Short pcmbuf_beep() (AKA Keyclick) doesn't work properly on PortalPlayer targets
Attached to Project:
Rockbox
Opened by Steve Bavin (pondlife) - Tuesday, 01 April 2008, 12:51 GMT+2
Last edited by Steve Bavin (pondlife) - Thursday, 11 December 2008, 09:10 GMT+2
Opened by Steve Bavin (pondlife) - Tuesday, 01 April 2008, 12:51 GMT+2
Last edited by Steve Bavin (pondlife) - Thursday, 11 December 2008, 09:10 GMT+2
|
DetailsThe attached patch revises pcmbuf_beep() in an attempt to kill the beeeeep of death that occurs on PortalPlayer targets when keyclick is enabled.
With this patch, on c200, the unpleasent beep seems to have gone, but the keyclick isn't very reliable: - Before playback is started, the keyclick has an extra click (probably when pcm playback begins) - While playback is in progress, the keyclick sounds correct, but is delayed (could the 1/8th second delay be removed?) - After playback then STOP, the very first keyclick works, but subsequent ones are almost inaudible. I've no idea why, but if the un-needed "memset(bufstart, 0, samples * 4);" is removed, then the keyclick after playback rarely sounds at all. I guess it's something to do with memory caching, but am not a low-level expert. Also, it would be good if the pcmbuf static variable audiobuffer could be renamed, to avoid potential confusion with the audiobuffer declared in buffer.c. |
This task depends upon
Closed by Steve Bavin (pondlife)
Thursday, 11 December 2008, 09:10 GMT+2
Reason for closing: Fixed
Additional comments about closing: No need to disable the option now. Thanks, jhMikeS!
Thursday, 11 December 2008, 09:10 GMT+2
Reason for closing: Fixed
Additional comments about closing: No need to disable the option now. Thanks, jhMikeS!
I'll change this back to a bug report for some PP guru to look at.
The correct solution is, of course, to fix the PP implementation of pcmbuf_beep()...
I maintain that the correct solution is to find out why the problem occurs in PP pcm playback, and then fix it. Could it be that the buffer length has to be a minimum number of samples, or a multiple of 2^n bytes? If so, a workaround may be just to mix appropriate silence after the beep. I don't have a working PP target, so can't test this here.
And if we can't fix it, then the keyclick should just be removed as per my patch (IMHO).
We leave the menu option in place because the manual mentions it. Anybody curious why the other options are missing will find this FS task and be enlightened, and maybe motivated to fix the underlying bug. When the underlying bug gets fixed, then we turn the menu options back on just by removing the #if/#else.