Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Help needed with pcmbuf weirdness

Help needed with pcmbuf weirdness

From: Rob Purchase <rob.purchase_at_googlemail.com>
Date: Thu, 03 Jul 2008 22:48:13 +0100

Hi guys,

I'm trying to debug a problem on the D2 port whereby playback doesn't start
until the audio buffer is completely filled for the first time - ie. when
'alloc' reaches full, a few seconds after starting playback from the file
browser.

I've narrowed it down to the 'if' condition in pcmbuf_play_start() at
pcmbuf.c:517. This function is called twice in quick succession when playback
is started, but both times 'pcmbuf_unplayed_bytes' and 'pcmbuf_read' seem to
have the value 0, therefore the condition fails and pcm_play_data() is never
called.

Only when the audio buffer fills completely does a further call to
pcmbuf_play_start() occur, and only at this stage is the 'if' condition
satisfied.

Unfortunately my knowledge of the pcmbuf code is next-to-zero, so I don't
know where to look next. Any pointers would be most appreciated!

Note that this is only happening for normal audio playback - voicing seems to
work correctly in all cases.

Cheers,

Rob.
Received on 2008-07-03


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa