- Jan 28, 2020
-
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
Don't free the proxy twice in some cases.
-
Include stdarg.h to avoid a build failure on uclibc due to va_list Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
Wim Taymans authored
-
Wim Taymans authored
It is possible that the global map contains holes and then the pw_map item has NULL data.
-
The dump method can dump objects in a manner that is easy for humans to parse and understand. For instance a simple command (on a vanilla NUC2): pipewire-0>>dump -sd Device 23: c="Audio/Device" n="alsa_card.pci-0000:00:03.0" d="Built-in Audio" a="alsa:pcm" p="hw:0" id="HDMI" nodes: 24: s="suspended" i=2/128 n="api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 0" p="alsa:pcm:hw:0,3:playback" ports: 31: d="input" n="playback_FL" f="32 bit float mono audio" 32: d="input" n="playback_FR" f="32 bit float mono audio" 25: s="suspended" i=2/128 n="api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 1" p="alsa:pcm:hw:0,7:playback" ports: 33: d="input" n="playback_FL" f="32 bit float mono audio" 34: d="input" n="playback_FR" f="32 bit float mono audio" 26: s="suspended" i=2/128 n="api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 2" p="alsa:pcm:hw:0,8:playback" ports: 35: d="input" n="playback_FL" f="32 bit float mono audio" 36: d="input" n="playback_FR" f="32 bit float mono audio" 27: s="suspended" i=2/128 n="api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 3" p="alsa:pcm:hw:0,9:playback" ports: 37: d="input" n="playback_FL" f="32 bit float mono audio" 38: d="input" n="playback_FR" f="32 bit float mono audio" 43: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 0/Multimedia" p="alsa:pcm:hw:0,3:playback:Multimedia" ports: 44: d="input" n="in_FL" f="32 bit float mono audio" 45: d="output" n="out_FL" f="32 bit float mono audio" 106: d="output" n="out_FR" f="32 bit float mono audio" 107: d="input" n="in_FR" f="32 bit float mono audio" 46: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 0/Navigation" p="alsa:pcm:hw:0,3:playback:Navigation" ports: 47: d="input" n="in_FL" f="32 bit float mono audio" 48: d="output" n="out_FL" f="32 bit float mono audio" 108: d="output" n="out_FR" f="32 bit float mono audio" 109: d="input" n="in_FR" f="32 bit float mono audio" 49: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 0/Communication" p="alsa:pcm:hw:0,3:playback:Communication" ports: 50: d="input" n="in_FL" f="32 bit float mono audio" 51: d="output" n="out_FL" f="32 bit float mono audio" 110: d="output" n="out_FR" f="32 bit float mono audio" 111: d="input" n="in_FR" f="32 bit float mono audio" 52: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 0/Emergency" p="alsa:pcm:hw:0,3:playback:Emergency" ports: 53: d="input" n="in_FL" f="32 bit float mono audio" 54: d="output" n="out_FL" f="32 bit float mono audio" 112: d="output" n="out_FR" f="32 bit float mono audio" 113: d="input" n="in_FR" f="32 bit float mono audio" 55: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 1/Multimedia" p="alsa:pcm:hw:0,7:playback:Multimedia" ports: 56: d="input" n="in_FL" f="32 bit float mono audio" 57: d="output" n="out_FL" f="32 bit float mono audio" 114: d="output" n="out_FR" f="32 bit float mono audio" 115: d="input" n="in_FR" f="32 bit float mono audio" 58: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 1/Navigation" p="alsa:pcm:hw:0,7:playback:Navigation" ports: 59: d="input" n="in_FL" f="32 bit float mono audio" 60: d="output" n="out_FL" f="32 bit float mono audio" 116: d="output" n="out_FR" f="32 bit float mono audio" 117: d="input" n="in_FR" f="32 bit float mono audio" 61: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 1/Communication" p="alsa:pcm:hw:0,7:playback:Communication" ports: 62: d="input" n="in_FL" f="32 bit float mono audio" 63: d="output" n="out_FL" f="32 bit float mono audio" 118: d="output" n="out_FR" f="32 bit float mono audio" 119: d="input" n="in_FR" f="32 bit float mono audio" 64: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 1/Emergency" p="alsa:pcm:hw:0,7:playback:Emergency" ports: 65: d="input" n="in_FL" f="32 bit float mono audio" 66: d="output" n="out_FL" f="32 bit float mono audio" 120: d="output" n="out_FR" f="32 bit float mono audio" 121: d="input" n="in_FR" f="32 bit float mono audio" 67: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 2/Multimedia" p="alsa:pcm:hw:0,8:playback:Multimedia" ports: 68: d="input" n="in_FL" f="32 bit float mono audio" 69: d="output" n="out_FL" f="32 bit float mono audio" 122: d="output" n="out_FR" f="32 bit float mono audio" 123: d="input" n="in_FR" f="32 bit float mono audio" 70: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 2/Navigation" p="alsa:pcm:hw:0,8:playback:Navigation" ports: 71: d="input" n="in_FL" f="32 bit float mono audio" 72: d="output" n="out_FL" f="32 bit float mono audio" 124: d="output" n="out_FR" f="32 bit float mono audio" 125: d="input" n="in_FR" f="32 bit float mono audio" 73: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 2/Communication" p="alsa:pcm:hw:0,8:playback:Communication" ports: 74: d="input" n="in_FL" f="32 bit float mono audio" 75: d="output" n="out_FL" f="32 bit float mono audio" 126: d="output" n="out_FR" f="32 bit float mono audio" 127: d="input" n="in_FR" f="32 bit float mono audio" 76: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 2/Emergency" p="alsa:pcm:hw:0,8:playback:Emergency" ports: 77: d="input" n="in_FL" f="32 bit float mono audio" 78: d="output" n="out_FL" f="32 bit float mono audio" 128: d="output" n="out_FR" f="32 bit float mono audio" 129: d="input" n="in_FR" f="32 bit float mono audio" 79: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 3/Multimedia" p="alsa:pcm:hw:0,9:playback:Multimedia" ports: 80: d="input" n="in_FL" f="32 bit float mono audio" 81: d="output" n="out_FL" f="32 bit float mono audio" 130: d="output" n="out_FR" f="32 bit float mono audio" 131: d="input" n="in_FR" f="32 bit float mono audio" 82: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 3/Navigation" p="alsa:pcm:hw:0,9:playback:Navigation" ports: 83: d="input" n="in_FL" f="32 bit float mono audio" 84: d="output" n="out_FL" f="32 bit float mono audio" 132: d="output" n="out_FR" f="32 bit float mono audio" 133: d="input" n="in_FR" f="32 bit float mono audio" 85: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 3/Communication" p="alsa:pcm:hw:0,9:playback:Communication" ports: 86: d="input" n="in_FL" f="32 bit float mono audio" 87: d="output" n="out_FL" f="32 bit float mono audio" 134: d="output" n="out_FR" f="32 bit float mono audio" 135: d="input" n="in_FR" f="32 bit float mono audio" 88: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:03.0/HDMI 3/Emergency" p="alsa:pcm:hw:0,9:playback:Emergency" ports: 89: d="input" n="in_FL" f="32 bit float mono audio" 90: d="output" n="out_FL" f="32 bit float mono audio" 136: d="output" n="out_FR" f="32 bit float mono audio" 137: d="input" n="in_FR" f="32 bit float mono audio" 28: c="Audio/Device" n="alsa_card.pci-0000:00:1b.0" d="Built-in Audio" a="alsa:pcm" p="hw:1" id="PCH" nodes: 29: s="running" i=2/128 n="api.alsa.pcm.sink/alsa_card.pci-0000:00:1b.0/ALC283 Analog" p="alsa:pcm:hw:1,0:playback" ports: 39: d="input" n="playback_FL" f="32 bit float mono audio" 40: d="input" n="playback_FR" f="32 bit float mono audio" 30: s="suspended" o=2/128 n="api.alsa.pcm.source/alsa_card.pci-0000:00:1b.0/ALC283 Analog" p="alsa:pcm:hw:1,0:capture" ports: 41: d="output" n="capture_FL" f="32 bit float mono audio" 42: d="output" n="capture_FR" f="32 bit float mono audio" 91: s="running" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:1b.0/ALC283 Analog/Multimedia" p="alsa:pcm:hw:1,0:playback:Multimedia" ports: 92: d="input" n="in_FL" f="32 bit float mono audio" 93: d="output" n="out_FL" f="32 bit float mono audio" 138: d="output" n="out_FR" f="32 bit float mono audio" 139: d="input" n="in_FR" f="32 bit float mono audio" 94: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:1b.0/ALC283 Analog/Navigation" p="alsa:pcm:hw:1,0:playback:Navigation" ports: 95: d="input" n="in_FL" f="32 bit float mono audio" 96: d="output" n="out_FL" f="32 bit float mono audio" 140: d="output" n="out_FR" f="32 bit float mono audio" 141: d="input" n="in_FR" f="32 bit float mono audio" 97: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:1b.0/ALC283 Analog/Communication" p="alsa:pcm:hw:1,0:playback:Communication" ports: 98: d="input" n="in_FL" f="32 bit float mono audio" 99: d="output" n="out_FL" f="32 bit float mono audio" 142: d="output" n="out_FR" f="32 bit float mono audio" 143: d="input" n="in_FR" f="32 bit float mono audio" 100: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.sink/alsa_card.pci-0000:00:1b.0/ALC283 Analog/Emergency" p="alsa:pcm:hw:1,0:playback:Emergency" ports: 101: d="input" n="in_FL" f="32 bit float mono audio" 102: d="output" n="out_FL" f="32 bit float mono audio" 144: d="output" n="out_FR" f="32 bit float mono audio" 145: d="input" n="in_FR" f="32 bit float mono audio" 103: s="suspended" i=2/128 o=2/128 n="audio.convert/api.alsa.pcm.source/alsa_card.pci-0000:00:1b.0/ALC283 Analog/Capture" p="alsa:pcm:hw:1,0:capture:Capture" ports: 104: d="input" n="in_FL" f="32 bit float mono audio" 105: d="output" n="out_FL" f="32 bit float mono audio" 146: d="input" n="in_FR" f="32 bit float mono audio" 147: d="output" n="out_FR" f="32 bit float mono audio" Will dump the devices, while following to dump nodes and ports of the nodes. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Immediately bind the global object upon creation. This allows to iterate over them without having to wait for the bind to be completed asynchronously. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Wim Taymans authored
The soundfile function calls are not safe to call from the real-time thread so don't do that.
-
Wim Taymans authored
-
Wim Taymans authored
-
-
- Jan 27, 2020
-
-
Fabrice Fontaine authored
Define TFD_TIMER_CANCEL_ON_SET if needed Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
Wim Taymans authored
-
Wim Taymans authored
Don't really care about the format, let sndfile convert and decode for us to the nearest supported format or else to f32. Fixes support for ogg.
-
Wim Taymans authored
Treat s24 format as s32 and let sndfile convert for us. This is needed because using the raw read bypasses decoding in some cases. This makes 24 bits flac work.
-
Wim Taymans authored
-
Wim Taymans authored
Use the pw- prefix for all pipewire tools. This makes the commands shorter but also avoids conflicts with password and patchwork tools (pwcli is taken, pwconv is maybe we someday can make). pipewire-monitor -> pw-mon pipewire-cli -> pw-cli pipewire-dot -> pw-dot pwcat -> pw-cat
-
Wim Taymans authored
-
The --list-targets option will report on the available targets for the --target command (and some info about it). Example: $ pwplay --list-targets Available targets ("*" denotes default): 30: name="alsa_card.pci-0000:00:03.0.playback.3.0" description="Built-in Audio (HDMI 0)" prio=696 31: name="alsa_card.pci-0000:00:03.0.playback.7.0" description="Built-in Audio (HDMI 1)" prio=632 32: name="alsa_card.pci-0000:00:03.0.playback.8.0" description="Built-in Audio (HDMI 2)" prio=616 33: name="alsa_card.pci-0000:00:03.0.playback.9.0" description="Built-in Audio (HDMI 3)" prio=600 * 34: name="alsa_card.pci-0000:00:1b.0.playback.0.0" description="Built-in Audio" prio=936 Getting this working required abandoning the simple stream API, and the resultant increase in code size. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
The target option was not working properly. Now you can use arbitrary nodes as targets. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
pwcat is analogous to pacat of PulseAudio which implements both playback and recording capability. Only wav files are supported for now, and you can use the handy pwplay and pwrecord aliases for easy use. Playback a wav file $ pwplay foo.wav Record a wav file $ pwrecord -r 44100 -c 1 -f s16 foo.wav Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Wim Taymans authored
Add a asprintf helper function that handles errors correctly. Use this in places where we use asprintf to avoid warnings when we don't check the return value.
-
Wim Taymans authored
Avoid building the session-manager when alsa was not found.
-
Add an option to allow the user to disable examples, this will allow to build pipewire without alsa. Without this option, build with -Dpipewire-alsa=false -Dalsa=false fails on: src/examples/meson.build:47:0: ERROR: Unknown variable "alsa_dep". Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
- Jan 21, 2020
-
-
Jan Grulich authored
The upcoming PW version has been already released as 0.2.9x, while using 0.2.9 means we still use a bugfix release of PW 0.2 version. Without the proper version bump, one cannot use ifdefs and support both PW 0.2 and PW 0.3
-
- Jan 17, 2020
-
-
Wim Taymans authored
We don't pause our clock ticks in the corked state which confuses the timing code. As a workaround for now, don't set the node to inactive when corked, this still keeps calling into the process function and keep things moving. VLC seems to recover better.
-
Wim Taymans authored
-
- Jan 16, 2020
-
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
Make sure we deactivate and stop the data thread when closing a client or we might get segfaults.
-
Wim Taymans authored
Use pthread_cancel to terminate the data threads. We need this for jack support but it's generally useful for a data thread.
-
Wim Taymans authored
-
Wim Taymans authored
So that we can place them next to the real ones and use a symlink to switch.
-
- Jan 15, 2020
-
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
If we can't access the root filesystem, grant access to the app. This should not happen but for now it is a workaround for selinux where we can't access the gnome-shell root when it connects for screen sharing.
-
Wim Taymans authored
-
Wim Taymans authored
-