[pulseaudio-discuss] Android Emulator (Qemu) Pulseaudio backend high CPU usage
Tudor Zaharia
tudor.zaharia at gmail.com
Wed Sep 9 16:03:47 UTC 2020
Hello,
I am experiencing high CPU usage of Pulseaudio in the following setup and I
would greatly appreciate any help in identifying the reason for it:
I am running the Android Emulator (which runs on Qemu) with Pulseaudio as
the audio backend on a Ubuntu 18.04 docker container. I am creating two
null sinks in Pulseaudio prior to running the emulator:
/etc/pulse/default.pa:
load-module module-null-sink sink_name=emu_audio_out
sink_properties=device.description=emu_audio_out format=s16le rate=48000
channels=2 channel_map=front-left,front-right
load-module module-null-sink sink_name=emu_audio_in
sink_properties=device.description=emu_audio_out format=s16le rate=48000
channels=2 channel_map=front-left,front-right
load-module module-native-protocol-unix auth-anonymous=1
socket=/tmp/pulse-socket
load-module module-native-protocol-tcp auth-anonymous=1
and then use the monitors on each of them to redirect the input/output.
Then pass the source and sink to Qemu:
QEMU_AUDIO_DRV=pa
QEMU_PA_SINK=emu_audio_out
QEMU_PA_SOURCE=emu_audio_in.monitor
QEMU_AUDIO_DAC_FIXED_FREQ=48000
QEMU_AUDIO_ADC_FIXED_FREQ=48000
At the other end I have a small program (called simple_pa_prog) that uses
the pa_simple interface to write to emu_audio_in and read from
emu_audio_out.monitor (application.name in the logs are
PulseaudioSinkWriter and PulseaudioSinkReader).
I do not need to output the audio on the machine's speaker. I am just using
Pulseaudio to basically route the sound from/to qemu to/from my pa_simple -
enable program. This works well, I can send/receive data successfully
to/from my program.
The problem that I am facing is that pulseaudio uses anywhere from 15% to
30% of my CPUs (on a Xeon 3.50GHz). I don't understand for the life of me
what is the reason for this. There is no resampling involved (see log
output below), just moving data around. I have trialed and errored pretty
much everything that I could without success (for example playing with
qemu's options - QEMU_AUDIO_TIMER_PERIOD, QEMU_AUDIO_ADC_TRY_POLL etc).
Pulseaudio's CPU usage stays more or less the same.
The whole thing runs in a Docker container - thus the reason for the first
pulseaudio warning:
This program is not intended to be run as root (unless --system is
specified)
but the same thing happens on bare metal.
I would appreciate any help on how I could identify (and possibly solve)
the high cpu usage of Pulseaudio in this setup.
----------------------------
$ pulseaudio -vvvvv
( 0.000| 0.000) W: [pulseaudio] main.c: This program is not intended to
be run as root (unless --system is specified).
( 0.001| 0.001) I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31,
31)) failed: Operation not permitted
( 0.001| 0.000) I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9,
9)) failed: Operation not permitted
( 0.001| 0.000) D: [pulseaudio] core-rtclock.c: Timer slack is set to
50 us.
( 0.001| 0.000) I: [pulseaudio] main.c: This is PulseAudio 11.1
( 0.001| 0.000) D: [pulseaudio] main.c: Compilation host:
x86_64-pc-linux-gnu
( 0.001| 0.000) D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2
-fdebug-prefix-map=/build/pulseaudio-ZAagCs/pulseaudio-11.1=.
-fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra
-pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations
-Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security
-Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow
-Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings
-Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option
-fdiagnostics-color=auto
( 0.001| 0.000) D: [pulseaudio] main.c: Running on host: Linux x86_64
5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020
( 0.001| 0.000) D: [pulseaudio] main.c: Found 8 CPUs.
( 0.001| 0.000) I: [pulseaudio] main.c: Page size is 4096 bytes
( 0.001| 0.000) D: [pulseaudio] main.c: Compiled with Valgrind support:
no
( 0.001| 0.000) D: [pulseaudio] main.c: Running in valgrind mode: no
( 0.001| 0.000) D: [pulseaudio] main.c: Running in VM: no
( 0.001| 0.000) D: [pulseaudio] main.c: Optimized build: yes
( 0.001| 0.000) D: [pulseaudio] main.c: FASTPATH defined, only fast
path asserts disabled.
( 0.001| 0.000) I: [pulseaudio] main.c: Machine ID is b7e637a7805b.
( 0.001| 0.000) I: [pulseaudio] main.c: Using runtime directory
/root/.config/pulse/b7e637a7805b-runtime.
( 0.001| 0.000) I: [pulseaudio] main.c: Using state directory
/root/.config/pulse.
( 0.001| 0.000) I: [pulseaudio] main.c: Using modules directory
/usr/lib/pulse-11.1/modules.
( 0.001| 0.000) I: [pulseaudio] main.c: Running in system mode: no
( 0.001| 0.000) I: [pulseaudio] main.c: System supports high resolution
timers
( 0.003| 0.001) D: [pulseaudio] memblock.c: Using shared memfd memory
pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum
usable slot size is 65472
( 0.003| 0.000) I: [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2
SSE3 SSSE3 SSE4_1 SSE4_2
( 0.003| 0.000) I: [pulseaudio] svolume_mmx.c: Initialising MMX
optimized volume functions.
( 0.003| 0.000) I: [pulseaudio] remap_mmx.c: Initialising MMX optimized
remappers.
( 0.003| 0.000) I: [pulseaudio] svolume_sse.c: Initialising SSE2
optimized volume functions.
( 0.003| 0.000) I: [pulseaudio] remap_sse.c: Initialising SSE2
optimized remappers.
( 0.003| 0.000) I: [pulseaudio] sconv_sse.c: Initialising SSE2
optimized conversions.
( 0.003| 0.000) I: [pulseaudio] svolume_orc.c: Initialising ORC
optimized volume functions.
( 0.005| 0.001) W: [pulseaudio] sink.c: Default and alternate sample
rates are the same.
( 0.005| 0.000) I: [pulseaudio] sink.c: Created sink 0 "emu_audio_out"
with sample spec s16le 2ch 48000Hz and channel map front-left,front-right
( 0.005| 0.000) I: [pulseaudio] sink.c: device.description =
"emu_audio_out"
( 0.005| 0.000) I: [pulseaudio] sink.c: device.class = "abstract"
( 0.005| 0.000) I: [pulseaudio] sink.c: device.icon_name =
"audio-card"
( 0.005| 0.000) I: [pulseaudio] source.c: Created source 0
"emu_audio_out.monitor" with sample spec s16le 2ch 48000Hz and channel map
front-left,front-right
( 0.005| 0.000) I: [pulseaudio] source.c: device.description =
"Monitor of emu_audio_out"
( 0.005| 0.000) I: [pulseaudio] source.c: device.class = "monitor"
( 0.005| 0.000) I: [pulseaudio] source.c: device.icon_name =
"audio-input-microphone"
( 0.006| 0.000) D: [null-sink] module-null-sink.c: Thread starting up
( 0.006| 0.000) I: [pulseaudio] core.c: default_source: (unset) ->
emu_audio_out.monitor
( 0.006| 0.000) I: [pulseaudio] core.c: default_sink: (unset) ->
emu_audio_out
( 0.006| 0.000) I: [pulseaudio] module.c: Loaded "module-null-sink"
(index: #0; argument: "sink_name=emu_audio_out
sink_properties=device.description=emu_audio_out format=s16le rate=48000
channels=2 channel_map=front-left,front-right ").
( 0.006| 0.000) W: [pulseaudio] sink.c: Default and alternate sample
rates are the same.
( 0.006| 0.000) I: [pulseaudio] sink.c: Created sink 1 "emu_audio_in"
with sample spec s16le 2ch 48000Hz and channel map front-left,front-right
( 0.006| 0.000) I: [pulseaudio] sink.c: device.description =
"emu_audio_in"
( 0.006| 0.000) I: [pulseaudio] sink.c: device.class = "abstract"
( 0.006| 0.000) I: [pulseaudio] sink.c: device.icon_name =
"audio-card"
( 0.006| 0.000) I: [pulseaudio] source.c: Created source 1
"emu_audio_in.monitor" with sample spec s16le 2ch 48000Hz and channel map
front-left,front-right
( 0.006| 0.000) I: [pulseaudio] source.c: device.description =
"Monitor of emu_audio_in"
( 0.006| 0.000) I: [pulseaudio] source.c: device.class = "monitor"
( 0.006| 0.000) I: [pulseaudio] source.c: device.icon_name =
"audio-input-microphone"
( 0.006| 0.000) D: [null-sink] module-null-sink.c: Thread starting up
( 0.006| 0.000) I: [pulseaudio] module.c: Loaded "module-null-sink"
(index: #1; argument: "sink_name=emu_audio_in
sink_properties=device.description=emu_audio_in format=s16le rate=48000
channels=2 channel_map=front-left,front-right ").
( 0.009| 0.002) W: [pulseaudio] authkey.c: Failed to open cookie file
'/root/.config/pulse/cookie': No such file or directory
( 0.009| 0.000) W: [pulseaudio] authkey.c: Failed to load
authentication key '/root/.config/pulse/cookie': No such file or directory
( 0.009| 0.000) W: [pulseaudio] authkey.c: Failed to open cookie file
'/root/.pulse-cookie': No such file or directory
( 0.009| 0.000) W: [pulseaudio] authkey.c: Failed to load
authentication key '/root/.pulse-cookie': No such file or directory
( 0.009| 0.000) D: [pulseaudio] authkey.c: Got 0 bytes from cookie file
'/root/.config/pulse/cookie', expected 256
( 0.009| 0.000) I: [pulseaudio] module.c: Loaded
"module-native-protocol-unix" (index: #2; argument: "auth-anonymous=1
socket=/tmp/pulse-socket").
( 0.010| 0.001) I: [pulseaudio] module.c: Loaded
"module-native-protocol-tcp" (index: #3; argument: "auth-anonymous=1").
( 0.011| 0.000) W: [pulseaudio] server-lookup.c: Unable to contact
D-Bus: org.freedesktop.DBus.Error.InvalidFileContent: D-Bus library appears
to be incorrectly set up: see the manual page for dbus-uuidgen to correct
this issue. (Failed to open "/var/lib/dbus/machine-id": No such file or
directory; UUID file '/etc/machine-id' should contain a hex string of
length 32, not length 0, with no other text)
( 0.011| 0.000) W: [pulseaudio] main.c: Unable to contact D-Bus:
org.freedesktop.DBus.Error.InvalidFileContent: D-Bus library appears to be
incorrectly set up: see the manual page for dbus-uuidgen to correct this
issue. (Failed to open "/var/lib/dbus/machine-id": No such file or
directory; UUID file '/etc/machine-id' should contain a hex string of
length 32, not length 0, with no other text)
( 0.011| 0.000) I: [pulseaudio] main.c: Daemon startup complete.
( 0.011| 0.011) I: [pulseaudio] main.c: Daemon startup successful.
( 0.016| 0.005) I: [pulseaudio] client.c: Created 0 "Native client
(UNIX socket client)"
( 0.016| 0.000) I: [pulseaudio] protocol-native.c: Client authenticated
anonymously.
( 0.017| 0.000) D: [pulseaudio] protocol-native.c: Protocol version:
remote 32, local 32
( 0.017| 0.000) D: [pulseaudio] protocol-native.c: SHM possible: yes
( 0.017| 0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
( 0.017| 0.000) D: [pulseaudio] protocol-native.c: Memfd possible: yes
( 0.017| 0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM type:
shared memfd
( 0.017| 0.000) D: [pulseaudio] memblock.c: Using shared memfd memory
pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum
usable slot size is 65472
( 0.017| 0.000) D: [pulseaudio] srbchannel.c: SHM block is 65472 bytes,
ringbuffer capacity is 2 * 32712 bytes
( 0.017| 0.000) D: [pulseaudio] protocol-native.c: Enabling
srbchannel...
( 0.017| 0.000) D: [pulseaudio] protocol-native.c: Client enabled
srbchannel.
( 0.019| 0.002) I: [pulseaudio] client.c: Freed 0 "pactl"
( 0.019| 0.000) I: [pulseaudio] protocol-native.c: Connection died.
( 3.179| 3.159) I: [pulseaudio] client.c: Created 1 "Native client
(UNIX socket client)"
( 3.179| 0.000) I: [pulseaudio] protocol-native.c: Client authenticated
anonymously.
( 3.179| 0.000) D: [pulseaudio] protocol-native.c: Protocol version:
remote 32, local 32
( 3.179| 0.000) D: [pulseaudio] protocol-native.c: SHM possible: yes
( 3.179| 0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
( 3.179| 0.000) D: [pulseaudio] protocol-native.c: Memfd possible: yes
( 3.179| 0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM type:
shared memfd
( 3.179| 0.000) D: [pulseaudio] memblock.c: Using shared memfd memory
pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum
usable slot size is 65472
( 3.179| 0.000) D: [pulseaudio] srbchannel.c: SHM block is 65472 bytes,
ringbuffer capacity is 2 * 32712 bytes
( 3.180| 0.000) D: [pulseaudio] protocol-native.c: Enabling
srbchannel...
( 3.180| 0.000) D: [pulseaudio] protocol-native.c: Client enabled
srbchannel.
( 3.180| 0.000) D: [pulseaudio] sink-input.c: Negotiated format: pcm,
format.sample_format = "\"s16le\"" format.rate = "48000" format.channels
= "2" format.channel_map = "\"front-left,front-right\""
( 3.180| 0.000) D: [pulseaudio] memblockq.c: memblockq requested:
maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0
( 3.180| 0.000) D: [pulseaudio] memblockq.c: memblockq sanitized:
maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
( 3.180| 0.000) I: [pulseaudio] sink-input.c: Created input 0
"playback" on emu_audio_out with sample spec s16le 2ch 48000Hz and channel
map front-left,front-right
( 3.180| 0.000) I: [pulseaudio] sink-input.c: media.name =
"playback"
( 3.180| 0.000) I: [pulseaudio] sink-input.c: application.name =
"PulseaudioSinkWriter"
( 3.180| 0.000) I: [pulseaudio] sink-input.c: native-protocol.peer
= "UNIX socket client"
( 3.180| 0.000) I: [pulseaudio] sink-input.c:
native-protocol.version = "32"
( 3.180| 0.000) I: [pulseaudio] sink-input.c: application.process.id
= "1"
( 3.180| 0.000) I: [pulseaudio] sink-input.c:
application.process.user = "root"
( 3.180| 0.000) I: [pulseaudio] sink-input.c:
application.process.host = "b7e637a7805b"
( 3.180| 0.000) I: [pulseaudio] sink-input.c:
application.process.binary = "simple_pa_prog"
( 3.180| 0.000) I: [pulseaudio] sink-input.c: application.language
= "C"
( 3.180| 0.000) I: [pulseaudio] sink-input.c: window.x11.display =
":0"
( 3.180| 0.000) I: [pulseaudio] sink-input.c:
application.process.machine_id = "b7e637a7805b"
( 3.180| 0.000) I: [pulseaudio] protocol-native.c: Requested
tlength=250.00 ms, minreq=20.00 ms
( 3.180| 0.000) D: [pulseaudio] protocol-native.c: Adjust latency mode
enabled, configuring sink latency to half of overall latency.
( 3.180| 0.000) D: [pulseaudio] protocol-native.c: Requested
latency=105.00 ms, Received latency=105.00 ms
( 3.180| 0.000) D: [pulseaudio] memblockq.c: memblockq requested:
maxlength=4194304, tlength=27840, base=4, prebuf=24004, minreq=3840
maxrewind=0
( 3.180| 0.000) D: [pulseaudio] memblockq.c: memblockq sanitized:
maxlength=4194304, tlength=27840, base=4, prebuf=24004, minreq=3840
maxrewind=0
( 3.180| 0.000) I: [pulseaudio] protocol-native.c: Final latency 250.00
ms = 105.00 ms + 2*20.00 ms + 105.00 ms
( 3.181| 0.001) I: [pulseaudio] client.c: Created 2 "Native client
(UNIX socket client)"
( 3.182| 0.000) I: [pulseaudio] protocol-native.c: Client authenticated
anonymously.
( 3.182| 0.000) D: [pulseaudio] protocol-native.c: Protocol version:
remote 32, local 32
( 3.182| 0.000) D: [pulseaudio] protocol-native.c: SHM possible: yes
( 3.182| 0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
( 3.182| 0.000) D: [pulseaudio] protocol-native.c: Memfd possible: yes
( 3.182| 0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM type:
shared memfd
( 3.182| 0.000) D: [pulseaudio] memblock.c: Using shared memfd memory
pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum
usable slot size is 65472
( 3.182| 0.000) D: [pulseaudio] srbchannel.c: SHM block is 65472 bytes,
ringbuffer capacity is 2 * 32712 bytes
( 3.182| 0.000) D: [pulseaudio] protocol-native.c: Enabling
srbchannel...
( 3.182| 0.000) D: [pulseaudio] protocol-native.c: Client enabled
srbchannel.
( 3.182| 0.000) D: [pulseaudio] source-output.c: Negotiated format:
pcm, format.sample_format = "\"s16le\"" format.rate = "48000"
format.channels = "2" format.channel_map = "\"front-left,front-right\""
( 3.182| 0.000) D: [pulseaudio] memblockq.c: memblockq requested:
maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0
( 3.182| 0.000) D: [pulseaudio] memblockq.c: memblockq sanitized:
maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
( 3.182| 0.000) I: [pulseaudio] source-output.c: Created output 0
"record" on emu_audio_in.monitor with sample spec s16le 2ch 48000Hz and
channel map front-left,front-right
( 3.182| 0.000) I: [pulseaudio] source-output.c: media.name =
"record"
( 3.182| 0.000) I: [pulseaudio] source-output.c: application.name =
"PulseaudioSinkReader"
( 3.182| 0.000) I: [pulseaudio] source-output.c:
native-protocol.peer = "UNIX socket client"
( 3.182| 0.000) I: [pulseaudio] source-output.c:
native-protocol.version = "32"
( 3.182| 0.000) I: [pulseaudio] source-output.c:
application.process.id = "1"
( 3.182| 0.000) I: [pulseaudio] source-output.c:
application.process.user = "root"
( 3.182| 0.000) I: [pulseaudio] source-output.c:
application.process.host = "b7e637a7805b"
( 3.182| 0.000) I: [pulseaudio] source-output.c:
application.process.binary = "simple_pa_prog"
( 3.182| 0.000) I: [pulseaudio] source-output.c:
application.language = "C"
( 3.182| 0.000) I: [pulseaudio] source-output.c: window.x11.display
= ":0"
( 3.182| 0.000) I: [pulseaudio] source-output.c:
application.process.machine_id = "b7e637a7805b"
( 3.183| 0.000) D: [pulseaudio] memblockq.c: memblockq requested:
maxlength=4194304, tlength=0, base=4, prebuf=1, minreq=0 maxrewind=0
( 3.183| 0.000) D: [pulseaudio] memblockq.c: memblockq sanitized:
maxlength=4194304, tlength=4194304, base=4, prebuf=4, minreq=4 maxrewind=0
( 3.183| 0.000) I: [pulseaudio] protocol-native.c: Final latency
4000.00 ms = 2000.00 ms + 2000.00 ms
( 3.946| 0.762) I: [pulseaudio] client.c: Created 3 "Native client
(UNIX socket client)"
( 3.946| 0.000) I: [pulseaudio] protocol-native.c: Client authenticated
anonymously.
( 3.946| 0.000) D: [pulseaudio] protocol-native.c: Protocol version:
remote 32, local 32
( 3.946| 0.000) D: [pulseaudio] protocol-native.c: SHM possible: yes
( 3.946| 0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
( 3.946| 0.000) D: [pulseaudio] protocol-native.c: Memfd possible: yes
( 3.946| 0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM type:
shared memfd
( 3.946| 0.000) D: [pulseaudio] memblock.c: Using shared memfd memory
pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum
usable slot size is 65472
( 3.946| 0.000) D: [pulseaudio] srbchannel.c: SHM block is 65472 bytes,
ringbuffer capacity is 2 * 32712 bytes
( 3.946| 0.000) D: [pulseaudio] protocol-native.c: Enabling
srbchannel...
( 3.946| 0.000) D: [pulseaudio] protocol-native.c: Client enabled
srbchannel.
( 3.947| 0.000) D: [pulseaudio] sink-input.c: Negotiated format: pcm,
format.sample_format = "\"s16le\"" format.rate = "48000" format.channels
= "2" format.channel_map = "\"front-left,front-right\""
( 3.947| 0.000) D: [pulseaudio] memblockq.c: memblockq requested:
maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0
( 3.947| 0.000) D: [pulseaudio] memblockq.c: memblockq sanitized:
maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
( 3.947| 0.000) I: [pulseaudio] sink-input.c: Created input 1 "qemu" on
emu_audio_in with sample spec s16le 2ch 48000Hz and channel map
front-left,front-right
( 3.947| 0.000) I: [pulseaudio] sink-input.c: media.name = "qemu"
( 3.947| 0.000) I: [pulseaudio] sink-input.c: application.name =
"unix:/tmp/pulse-socket"
( 3.947| 0.000) I: [pulseaudio] sink-input.c: native-protocol.peer
= "UNIX socket client"
( 3.947| 0.000) I: [pulseaudio] sink-input.c:
native-protocol.version = "32"
( 3.947| 0.000) I: [pulseaudio] sink-input.c: application.process.id
= "52"
( 3.947| 0.000) I: [pulseaudio] sink-input.c:
application.process.user = "root"
( 3.947| 0.000) I: [pulseaudio] sink-input.c:
application.process.host = "b7e637a7805b"
( 3.947| 0.000) I: [pulseaudio] sink-input.c:
application.process.binary = "qemu-system-x86_64"
( 3.947| 0.000) I: [pulseaudio] sink-input.c: application.language
= "C"
( 3.947| 0.000) I: [pulseaudio] sink-input.c: window.x11.display =
":0"
( 3.947| 0.000) I: [pulseaudio] sink-input.c:
application.process.machine_id = "b7e637a7805b"
( 3.947| 0.000) I: [pulseaudio] protocol-native.c: Requested
tlength=10.00 ms, minreq=5.00 ms
( 3.947| 0.000) D: [pulseaudio] protocol-native.c: Adjust latency mode
enabled, configuring sink latency to half of overall latency.
( 3.947| 0.000) D: [pulseaudio] protocol-native.c: Requested
latency=0.00 ms, Received latency=0.50 ms
( 3.947| 0.000) D: [pulseaudio] memblockq.c: memblockq requested:
maxlength=4194304, tlength=2016, base=4, prebuf=1060, minreq=960 maxrewind=0
( 3.947| 0.000) D: [pulseaudio] memblockq.c: memblockq sanitized:
maxlength=4194304, tlength=2016, base=4, prebuf=1060, minreq=960 maxrewind=0
( 3.947| 0.000) I: [pulseaudio] protocol-native.c: Final latency 11.00
ms = 0.50 ms + 2*5.00 ms + 0.50 ms
( 3.947| 0.000) D: [pulseaudio] source-output.c: Negotiated format:
pcm, format.sample_format = "\"s16le\"" format.rate = "48000"
format.channels = "2" format.channel_map = "\"front-left,front-right\""
( 3.947| 0.000) D: [pulseaudio] memblockq.c: memblockq requested:
maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0
( 3.947| 0.000) D: [pulseaudio] memblockq.c: memblockq sanitized:
maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
( 3.947| 0.000) I: [pulseaudio] source-output.c: Created output 1
"qemu" on emu_audio_out.monitor with sample spec s16le 2ch 48000Hz and
channel map front-left,front-right
( 3.947| 0.000) I: [pulseaudio] source-output.c: media.name = "qemu"
( 3.947| 0.000) I: [pulseaudio] source-output.c: application.name =
"unix:/tmp/pulse-socket"
( 3.947| 0.000) I: [pulseaudio] source-output.c:
native-protocol.peer = "UNIX socket client"
( 3.947| 0.000) I: [pulseaudio] source-output.c:
native-protocol.version = "32"
( 3.947| 0.000) I: [pulseaudio] source-output.c:
application.process.id = "52"
( 3.947| 0.000) I: [pulseaudio] source-output.c:
application.process.user = "root"
( 3.947| 0.000) I: [pulseaudio] source-output.c:
application.process.host = "b7e637a7805b"
( 3.947| 0.000) I: [pulseaudio] source-output.c:
application.process.binary = "qemu-system-x86_64"
( 3.947| 0.000) I: [pulseaudio] source-output.c:
application.language = "C"
( 3.947| 0.000) I: [pulseaudio] source-output.c: window.x11.display
= ":0"
( 3.947| 0.000) I: [pulseaudio] source-output.c:
application.process.machine_id = "b7e637a7805b"
( 3.947| 0.000) D: [pulseaudio] memblockq.c: memblockq requested:
maxlength=4194304, tlength=0, base=4, prebuf=1, minreq=0 maxrewind=0
( 3.948| 0.000) D: [pulseaudio] memblockq.c: memblockq sanitized:
maxlength=4194304, tlength=4194304, base=4, prebuf=4, minreq=4 maxrewind=0
( 3.948| 0.000) I: [pulseaudio] protocol-native.c: Final latency 20.00
ms = 10.00 ms + 10.00 ms
( 5.639| 1.691) D: [pulseaudio] protocol-native.c: Client
qemu-system-x86_64 changes volume of sink input qemu.
( 5.639| 0.000) D: [pulseaudio] sink-input.c: The volume of sink input
1 changed from front-left: 65536 / 100% / 0.00 dB, front-right: 65536 /
100% / 0.00 dB to front-left: 0 / 0% / -inf dB, front-right: 65536 /
100% / 0.00 dB.
( 5.639| 0.000) D: [pulseaudio] sink-input.c: Sink input 1 reference
ratio changed from front-left: 65536 / 100% / 0.00 dB, front-right: 65536
/ 100% / 0.00 dB to front-left: 0 / 0% / -inf dB, front-right: 65536 /
100% / 0.00 dB.
( 5.639| 0.000) D: [pulseaudio] protocol-native.c: Client
qemu-system-x86_64 changes mute of sink input qemu.
( 5.640| 0.000) D: [pulseaudio] protocol-native.c: Client
qemu-system-x86_64 changes volume of sink input qemu.
( 5.640| 0.000) D: [pulseaudio] sink-input.c: The volume of sink input
1 changed from front-left: 0 / 0% / -inf dB, front-right: 65536 / 100%
/ 0.00 dB to front-left: 0 / 0% / -inf dB, front-right: 0 / 0% / -inf
dB.
[truncated]
---------------
$ pacmd list
Memory blocks currently allocated: 1, size: 63.9 KiB.
Memory blocks allocated during the whole lifetime: 3773, size: 738.2 KiB.
Memory blocks imported from other processes: 0, size: 0 B.
Memory blocks exported to other processes: 128, size: 8.0 MiB.
Total sample cache size: 0 B.
Default sample spec: s16le 2ch 48000Hz
Default channel map: front-left,front-right
Default sink name: emu_audio_out
Default source name: emu_audio_out.monitor
Memory blocks of type POOL: 1 allocated/3773 accumulated.
Memory blocks of type POOL_EXTERNAL: 0 allocated/0 accumulated.
Memory blocks of type APPENDED: 0 allocated/0 accumulated.
Memory blocks of type USER: 0 allocated/0 accumulated.
Memory blocks of type FIXED: 0 allocated/0 accumulated.
Memory blocks of type IMPORTED: 0 allocated/0 accumulated.
5 module(s) loaded.
index: 0
name: <module-null-sink>
argument: <sink_name=emu_audio_out
sink_properties=device.description=emu_audio_out format=s16le rate=48000
channels=2 channel_map=front-left,front-right >
used: 2
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "Clocked NULL sink"
module.version = "11.1"
index: 1
name: <module-null-sink>
argument: <sink_name=emu_audio_in
sink_properties=device.description=emu_audio_in format=s16le rate=48000
channels=2 channel_map=front-left,front-right >
used: 2
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "Clocked NULL sink"
module.version = "11.1"
index: 2
name: <module-native-protocol-unix>
argument: <auth-anonymous=1 socket=/tmp/pulse-socket>
used: -1
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "Native protocol (UNIX sockets)"
module.version = "11.1"
index: 3
name: <module-native-protocol-tcp>
argument: <auth-anonymous=1>
used: -1
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "Native protocol (TCP sockets)"
module.version = "11.1"
index: 4
name: <module-cli-protocol-unix>
argument: <>
used: -1
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "Command line interface protocol (UNIX
sockets)"
module.version = "11.1"
2 sink(s) available.
* index: 0
name: <emu_audio_out>
driver: <module-null-sink.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: RUNNING
suspend cause:
priority: 1000
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 /
100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 5.73 ms
max request: 1 KiB
max rewind: 1 KiB
monitor source: 0
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 1
linked by: 2
configured latency: 10.00 ms; range is 0.50 .. 2000.00 ms
module: 0
properties:
device.description = "emu_audio_out"
device.class = "abstract"
device.icon_name = "audio-card"
index: 1
name: <emu_audio_in>
driver: <module-null-sink.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: RUNNING
suspend cause:
priority: 1000
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 /
100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 0.04 ms
max request: 0 KiB
max rewind: 0 KiB
monitor source: 1
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 1
linked by: 2
configured latency: 0.50 ms; range is 0.50 .. 2000.00 ms
module: 1
properties:
device.description = "emu_audio_in"
device.class = "abstract"
device.icon_name = "audio-card"
2 source(s) available.
* index: 0
name: <emu_audio_out.monitor>
driver: <module-null-sink.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: IDLE
suspend cause:
priority: 1000
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 /
100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 0.00 ms
max rewind: 1 KiB
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 1
configured latency: 10.00 ms; range is 0.50 .. 2000.00 ms
monitor_of: 0
module: 0
properties:
device.description = "Monitor of emu_audio_out"
device.class = "monitor"
device.icon_name = "audio-input-microphone"
index: 1
name: <emu_audio_in.monitor>
driver: <module-null-sink.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: RUNNING
suspend cause:
priority: 1000
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 /
100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 0.00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 1
linked by: 1
configured latency: 2000.00 ms; range is 0.50 .. 2000.00 ms
monitor_of: 1
module: 1
properties:
device.description = "Monitor of emu_audio_in"
device.class = "monitor"
device.icon_name = "audio-input-microphone"
4 client(s) logged in.
index: 1
driver: <protocol-native.c>
owner module: 2
properties:
application.name = "PulseaudioSinkWriter"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "1"
application.process.user = "root"
application.process.host = "46ff4ed03788"
application.process.binary = "simple_pa_prog"
application.language = "C"
window.x11.display = ":0"
application.process.machine_id = "46ff4ed03788"
index: 2
driver: <protocol-native.c>
owner module: 2
properties:
application.name = "PulseaudioSinkReader"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "1"
application.process.user = "root"
application.process.host = "46ff4ed03788"
application.process.binary = "simple_pa_prog"
application.language = "C"
window.x11.display = ":0"
application.process.machine_id = "46ff4ed03788"
index: 3
driver: <protocol-native.c>
owner module: 2
properties:
application.name = "unix:/tmp/pulse-socket"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "52"
application.process.user = "root"
application.process.host = "46ff4ed03788"
application.process.binary = "qemu-system-x86_64"
application.language = "C"
window.x11.display = ":0"
application.process.machine_id = "46ff4ed03788"
index: 5
driver: <cli.c>
owner module: 4
properties:
application.name = "UNIX socket client"
0 card(s) available.
2 sink input(s) available.
index: 0
driver: <protocol-native.c>
flags:
state: DRAINED
sink: 0 <emu_audio_out>
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 /
100% / 0.00 dB
balance 0.00
muted: no
current latency: 0.00 ms
requested latency: 105.00 ms
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
resample method: (null)
module: 2
client: 1 <PulseaudioSinkWriter>
properties:
media.name = "playback"
application.name = "PulseaudioSinkWriter"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "1"
application.process.user = "root"
application.process.host = "46ff4ed03788"
application.process.binary = "simple_pa_prog"
application.language = "C"
window.x11.display = ":0"
application.process.machine_id = "46ff4ed03788"
index: 1
driver: <protocol-native.c>
flags:
state: DRAINED
sink: 1 <emu_audio_in>
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 /
100% / 0.00 dB
balance 0.00
muted: no
current latency: 0.00 ms
requested latency: 0.50 ms
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
resample method: (null)
module: 2
client: 3 <unix:/tmp/pulse-socket>
properties:
media.name = "qemu"
application.name = "unix:/tmp/pulse-socket"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "52"
application.process.user = "root"
application.process.host = "46ff4ed03788"
application.process.binary = "qemu-system-x86_64"
application.language = "C"
window.x11.display = ":0"
application.process.machine_id = "46ff4ed03788"
2 source output(s) available.
index: 0
driver: <protocol-native.c>
flags:
state: RUNNING
source: 1 <emu_audio_in.monitor>
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 /
100% / 0.00 dB
balance 0.00
muted: no
current latency: 0.00 ms
requested latency: 2000.00 ms
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
resample method: (null)
owner module: 2
client: 2 <PulseaudioSinkReader>
properties:
media.name = "record"
application.name = "PulseaudioSinkReader"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "1"
application.process.user = "root"
application.process.host = "46ff4ed03788"
application.process.binary = "simple_pa_prog"
application.language = "C"
window.x11.display = ":0"
application.process.machine_id = "46ff4ed03788"
index: 1
driver: <protocol-native.c>
flags: START_CORKED
state: CORKED
source: 0 <emu_audio_out.monitor>
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 /
100% / 0.00 dB
balance 0.00
muted: no
current latency: 0.00 ms
requested latency: 10.00 ms
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
resample method: (null)
owner module: 2
client: 3 <unix:/tmp/pulse-socket>
properties:
media.name = "qemu"
application.name = "unix:/tmp/pulse-socket"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "52"
application.process.user = "root"
application.process.host = "46ff4ed03788"
application.process.binary = "qemu-system-x86_64"
application.language = "C"
window.x11.display = ":0"
application.process.machine_id = "46ff4ed03788"
0 cache entrie(s) available.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20200909/cc0fe97b/attachment-0001.htm>
More information about the pulseaudio-discuss
mailing list