[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