In my case I can arrive at
buffer_time "2664"
period_time "1332"
buffer_time is a a multiple of period_time (at least x2)
Some explanation can be found here:
http://www.alsa-project.org/main/index.php/FramesPeriodsMy results are very good but in a linux system VERY optimized with linux realtime kernel, some threads have high realtime priority following this schema for RTPRIO (real time priority)
RTC (real time clock) at 95
USB card at 90
Jack server at 85
Player (in the example mpd) at 80
It would be nice to separate player from decoder. It is not very good to give RTPRIO 80 to the player interface!
PID CLS RTPRIO NI PRI %CPU STAT COMMAND
78 FF 95 - 135 0.0 S irq/8-rtc0
117 FF 90 - 130 0.1 S irq/16-ehci_hcd
132 FF 89 - 129 0.2 S irq/23-ehci_hcd
59 FF 50 - 90 0.0 S irq/9-acpi
70 FF 50 - 90 0.0 S irq/40-PCIe PME
71 FF 50 - 90 0.0 S irq/41-PCIe PME
72 FF 50 - 90 0.0 S irq/42-PCIe PME
73 FF 50 - 90 0.0 S irq/43-PCIe PME
75 FF 50 - 90 0.0 S irq/12-i8042
76 FF 50 - 90 0.0 S irq/1-i8042
112 FF 50 - 90 0.0 S irq/44-xhci_hcd
113 FF 50 - 90 0.0 S irq/45-xhci_hcd
114 FF 50 - 90 0.0 S irq/46-xhci_hcd
115 FF 50 - 90 0.0 S irq/47-xhci_hcd
116 FF 50 - 90 0.0 S irq/48-xhci_hcd
118 FF 50 - 90 0.0 S irq/49-ahci
131 FF 50 - 90 0.0 S irq/19-
225 FF 50 - 90 0.0 S irq/18-i801_smb
230 FF 50 - 90 0.2 S irq/16-nouveau
324 FF 50 - 90 0.0 S irq/50-enp2s0
3 FF 1 - 41 0.2 S ksoftirqd/0
39 FF 1 - 41 0.0 S ksoftirqd/1
44 FF 1 - 41 0.0 S ksoftirqd/2
49 FF 1 - 41 0.0 S ksoftirqd/3
- /bin/bash -c export LD_PRELOAD=/usr/lib/libsoxr-lsr.so.0.1.9; /usr/bin/mpd /home/olmeda/.mpdconf --no-daemon
80 /usr/bin/mpd /home/olmeda/.mpdconf --no-daemon
80 /usr/bin/mpd /home/olmeda/.mpdconf --no-daemon
80 /usr/bin/mpd /home/olmeda/.mpdconf --no-daemon
80 /usr/bin/mpd /home/olmeda/.mpdconf --no-daemon
80 /usr/bin/mpd /home/olmeda/.mpdconf --no-daemon