13.07.2014 18:12, Tanu Kaskinen wrote: > Someone (not me, at least any time soon) could write a simple > patch that measures and logs (at error level - measurements shouldn't be > done at debug log level) the time that the probing takes. Then test it > on your development machine, and if the time seems negligible, try also > e.g. plugging in a USB sound card to a Raspberry Pi. Done. See the attachment. Here are the results from my development machine (0 = Haswell HDMI audio, 1 = onboard analog output, 2 = Logitech C910 USB webcam): E: [pulseaudio] alsa-mixer.c: Checking for profile input:analog-mono took 1344 usec E: [pulseaudio] alsa-mixer.c: Checking for profile input:analog-stereo took 3461 usec E: [pulseaudio] alsa-mixer.c: Checking for profile input:iec958-stereo took 235 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-mono took 140 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-stereo took 272 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-21 took 260 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-40 took 244 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-41 took 166 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-50 took 140 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-51 took 150 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-71 took 143 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-stereo took 167 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-ac3-surround-40 took 10 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-ac3-surround-51 took 7 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-dts-surround-51 took 330 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-stereo took 5823 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-surround took 1555 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-stereo-extra1 took 730 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-surround-extra1 took 1861 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-stereo-extra2 took 2790 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-surround-extra2 took 2782 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-stereo-extra3 took 162 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-surround-extra3 took 148 usec E: [pulseaudio] alsa-mixer.c: Checking for all profiles on device 0 took 24494 usec in total E: [pulseaudio] alsa-mixer.c: Checking for profile input:analog-mono took 521 usec E: [pulseaudio] alsa-mixer.c: Checking for profile input:analog-stereo took 23234 usec E: [pulseaudio] alsa-mixer.c: Checking for profile input:analog-4-channel-input took 504 usec E: [pulseaudio] alsa-mixer.c: Checking for profile input:iec958-stereo took 23521 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-mono took 94 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-stereo took 233 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-21 took 213 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-40 took 218 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-41 took 170 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-50 took 170 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-51 took 166 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-71 took 209 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-stereo took 228 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-ac3-surround-40 took 8 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-ac3-surround-51 took 7 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-dts-surround-51 took 250 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-stereo took 88 usec E: [pulseaudio] alsa-mixer.c: Checking for all profiles on device 2 took 52647 usec in total E: [pulseaudio] alsa-mixer.c: Checking for profile input:analog-mono took 154724 usec E: [pulseaudio] alsa-mixer.c: Checking for profile input:analog-stereo took 2181 usec E: [pulseaudio] alsa-mixer.c: Checking for profile input:iec958-stereo took 185 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-mono took 528 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-stereo took 10556 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-stereo+input:analog-stereo took 246 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-21 took 5866 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-21+input:analog-stereo took 197 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-40 took 5479 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-40+input:analog-stereo took 210 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-41 took 5484 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-41+input:analog-stereo took 218 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-50 took 332 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-50+input:analog-stereo took 193 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-51 took 281 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-51+input:analog-stereo took 256 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:analog-surround-71 took 1150 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-stereo took 4835 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-stereo+input:analog-stereo took 200 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-ac3-surround-40 took 17 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-ac3-surround-51 took 16 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-dts-surround-51 took 5209 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:iec958-dts-surround-51+input:analog-stereo took 225 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-stereo took 186 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-surround took 182 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-stereo-extra1 took 180 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-surround-extra1 took 177 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-stereo-extra2 took 171 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-surround-extra2 took 171 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-stereo-extra3 took 169 usec E: [pulseaudio] alsa-mixer.c: Checking for profile output:hdmi-surround-extra3 took 196 usec E: [pulseaudio] alsa-mixer.c: Checking for all profiles on device 1 took 205055 usec in total Note: I have not configured the "a52" ALSA pcm for the AC3 encoder, thus probing of AC3 profiles fails and takes less than 20 usec. dcaenc is installed, and thus iec958-dts-surround-51 eats 5 ms. Details from more interesting machines (with a TV tuner, and a USB headset) will follow tomorrow. Unfortunately, I don't have access to a Raspberry Pi. -- Alexander E. Patrakov -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-alsa-Report-profile-probing-timings.patch Type: text/x-patch Size: 2473 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20140715/1386637a/attachment-0001.bin>