Subject: Help needed with pcmbuf weirdness
Date: Thursday 3rd July 2008 21:48:13 UTC (over 9 years ago)
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.