[pulseaudio-tickets] [Bug 86262] severe underruns with usb audio, works with pa 3.0 - buffer setup seems wrong
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Dec 12 18:36:58 PST 2014
https://bugs.freedesktop.org/show_bug.cgi?id=86262
--- Comment #8 from Raymond <superquad.vortex2 at gmail.com> ---
http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=b0b7d0280f977dee1bbff0a1b4cd0c50068d2371;hp=1cf37d72c4e77fac55f2b1792bdcf12744a5a51a
@ -5577,6 +5577,12 @@ int snd_pcm_sw_params_set_avail_min(snd_pcm_t *pcm,
snd_pcm_sw_params_t *params,
#endif
{
assert(pcm && params);
+ /* Fix avail_min if it's below period size. The period_size
+ * defines the minimal wake-up timing accuracy, so it doesn't
+ * make sense to set below that.
+ */
+ if (val < pcm->period_size)
+ val = pcm->period_size;
params->avail_min = val;
return 0;
}
seem any value below period size is changed to period size,
the hw_ptr of most drivers change by a period when interrupt occur, not all
driver can report dma_brust size granularity like snd-hda-intel controller ,
when data in FIFO below FIFO threshold and trigger DMA transfer , the hw_ptr
position is accurate up to DMA brust size which is less than period size
(pulseaudio use 4 fragments and 25 ms fragment time ) but dma brust size is
about 32 frames
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-bugs/attachments/20141213/56878f39/attachment.html>
More information about the pulseaudio-bugs
mailing list