Wim Taymans
d880db3933
Revert "pw-cli: use core object to map id to proxy"
...
This reverts commit 918acd61ef .
2020-03-06 16:30:18 +01:00
Wim Taymans
e9884fcfb5
pw-*: Use user data to track param changes
...
Use the new param_info user field to track individual param
changes and only notify thos that changed.
2020-03-06 15:41:02 +01:00
Wim Taymans
c4b2be2aad
use true and false for boolean properties
...
So that it's easier to convert them to booleans in introspection
code later.
2020-03-03 18:17:46 +01:00
Wim Taymans
3d9f54d8a4
midifile: count channels from 1 to 16
2020-03-03 10:25:03 +01:00
Wim Taymans
33102abe4d
pw-cat: dump midi events in vebose mode
2020-03-01 20:39:46 +01:00
Wim Taymans
70fc09b891
midifile: add support for event dump
...
Make a method to dump event info to stdout.
2020-03-01 20:39:07 +01:00
Wim Taymans
3b1fc4acce
midifile: put some parsed data in the event
...
Put some of the data we parsed into the event.
2020-03-01 20:37:50 +01:00
Wim Taymans
2982b9511e
pw-cat: simplify midi reading and writing
2020-02-28 20:35:28 +01:00
Wim Taymans
a3582f0e0f
pw-cat: add midi recording
2020-02-27 15:37:12 +01:00
Wim Taymans
b7dbf4bbc1
pw-cat: rework midifile a little
...
Move the code to read and write midi into the midifile helper
and simplify things a bit.
2020-02-27 12:42:21 +01:00
Wim Taymans
9bec2e5d8a
pw-cat: improve midi errors
...
EINVAL for invalid events and file
ENOENT for unknown event
2020-02-24 10:20:33 +01:00
Pantelis Antoniou
b445bdea27
Fix change_mask string generation
...
The change_mask string generation was buggy and confusing.
Fix it with something more usable.
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
2020-02-21 15:14:31 +01:00
Wim Taymans
b33bd68bac
improve error messages
...
Log an error when we send an error to the client so that we don't need
to log and error anymore.
Improve the error messages when we can
Move some warnings and errors to debug
2020-02-21 15:02:55 +01:00
Wim Taymans
918acd61ef
pw-cli: use core object to map id to proxy
...
We can use the core object to get a proxy for a given id. From there
we can find the user data and the associated global if any.
2020-02-21 11:47:34 +01:00
Pantelis Antoniou
4175191d19
Fix printf attribute compilation errors
...
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
2020-02-21 11:30:49 +01:00
Pantelis Antoniou
7ead270265
Implement JSON/YAML command for graph tree traversal
...
Implement a single command that allows viewing all information
about a remotes properties/parameters and info variables.
This patch creates a framework for accessing properties using
a simple dotted variable access method or JSON/YAML path expressions.
The root of the tree is a sequence of all globals objects, and
accessing a the first one is simply 0 (or /0 is JSON/YAML path form).
pipewire-0>>graph 0
id: 0
type: PipeWire:Interface:Core
permissions: rwx
version: 3
info:
id: 0
cookie: 1602594817
user_name: panto
host_name: nuc2
version: 0.2.96
name: pipewire-0
change_mask: props
props:
pipewire.core.name: pipewire-0
context.profile.modules: none
pipewire.core.daemon: 1
link.max-buffers: 16
default.clock.rate: 48000
default.clock.quantum: 1024
default.clock.min-quantum: 32
default.clock.max-quantum: 8192
default.video.width: 640
default.video.height: 480
default.video.rate.num: 25
default.video.rate.denom: 1
mem.allow-mlock: true
cpu.max-align: 32
object.id: 0
properties:
pipewire.core.name: pipewire-0
Displaying a nodes information is simply:
pipewire-0>>graph /32
id: 32
type: PipeWire:Interface:Node
permissions: rwx
version: 3
info:
id: 32
max_input_ports: 128
max_output_ports: 0
n_input_ports: 2
n_output_ports: 2
state: suspended
error:
change_mask: "n_input_ports,n_output_ports,state,props,params"
props:
object.path: alsa:pcm:HDMI:3:playback
api.alsa.path: "hw:0,3"
api.alsa.pcm.card: 0
api.alsa.pcm.device: 3
api.alsa.pcm.subdevice: 0
api.alsa.pcm.stream: playback
api.alsa.pcm.id: "HDMI 0"
api.alsa.pcm.name: "HDMI 0"
api.alsa.pcm.subname: "subdevice #0 "
api.alsa.pcm.class: generic
api.alsa.pcm.subclass: generic-mix
api.alsa.pcm.sync-id: 00000000:00000000:00000000:00000000
device.id: 26
factory.name: api.alsa.pcm.sink
priority.master: 696
priority.session: 696
media.class: Audio/Sink
node.name: alsa_card.pci-0000:00:03.0.playback.3.0
node.description: "Built-in Audio (HDMI 0)"
factory.id: 17
client.id: 24
device.api: alsa
node.driver: true
factory.mode: merge
audio.adapt.slave:
library.name: audioconvert/libspa-audioconvert
object.id: 32
params:
EnumFormat:
mediaType: audio
mediaSubtype: raw
format:
default: S32LE
alt0: S32LE
alt1: S16LE
rate:
default: 48000
min: 32000
max: 48000
channels: 2
position:
- FL
- FR
PropInfo:
- id: volume
name: Volume
type:
default: 1.000000
min: 0.000000
max: 10.000000
- id: mute
name: Mute
type:
default: false
alt0: false
alt1: true
- id: channelVolumes
name: "Channel Volumes"
type:
default: 1.000000
min: 0.000000
max: 10.000000
Props:
volume: 1.000000
mute: false
channelVolumes: []
Format: {}
EnumPortConfig:
- direction: Input
mode: dsp
- direction: Output
mode: dsp
- direction: Input
mode: convert
- direction: Output
mode: convert
PortConfig: {}
properties:
object.path: alsa:pcm:HDMI:3:playback
factory.id: 17
client.id: 24
device.id: 26
priority.session: 696
priority.master: 696
node.description: "Built-in Audio (HDMI 0)"
node.name: alsa_card.pci-0000:00:03.0.playback.3.0
media.class: Audio/Sink
To simply display the parameters of the same object:
pipewire-0>>graph 32/info/params
EnumFormat:
mediaType: audio
mediaSubtype: raw
format:
default: S32LE
alt0: S32LE
alt1: S16LE
rate:
default: 48000
min: 32000
max: 48000
channels: 2
position:
- FL
- FR
PropInfo:
- id: volume
name: Volume
type:
default: 1.000000
min: 0.000000
max: 10.000000
- id: mute
name: Mute
type:
default: false
alt0: false
alt1: true
- id: channelVolumes
name: "Channel Volumes"
type:
default: 1.000000
min: 0.000000
max: 10.000000
Props:
volume: 1.000000
mute: false
channelVolumes: []
Format: {}
EnumPortConfig:
- direction: Input
mode: dsp
- direction: Output
mode: dsp
- direction: Input
mode: convert
- direction: Output
mode: convert
PortConfig: {}
The graph command also supports the following options:
-y Select YAML format (this is the default)
-j Select JSON format
-n Display numeric instead of textual IDs
-f Display full type info, i.e. instead of EnumFormat will
display Spa:Enum:ParamId:EnumFormat
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
2020-02-21 11:30:49 +01:00
Pantelis Antoniou
3b53a6e049
pw-cli: Collect and display parameters from global symbols
...
Until now there was no method to display parameters along with
information of their parent object.
This patchset stores parameter info in the global object so
that it may displayed along with its parent object.
This is a necessary step to be able to display and modify parameters
in a simple form like the following
pipewire-0>> set 12 volume=0.7
pipewire-0>> get 12 volume
0.7
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
2020-02-21 11:30:49 +01:00
Wim Taymans
8b874a9514
pw-cat: handle midi EOF better
...
Return 0 when there are no more events, 1 when we have an event and
< 0 for errors. Use this to correctly push the last set of events on
EOS and then return 0 and stop without an error.
2020-02-21 11:19:35 +01:00
Wim Taymans
bdeeebfdd4
enable and fix -Werror=suggest-attribute=format
2020-02-20 18:20:04 +01:00
Wim Taymans
2a3bf485e7
pw-dot: rename lightgreen to palegreen
...
lightgreen does not seem to exist for me as a color, dot complains.
2020-02-20 13:28:34 +01:00
Wim Taymans
11086f23ea
pod: add and use reserve_bytes helper
2020-02-19 11:02:00 +01:00
Wim Taymans
cc1ed84f9f
midi: simplify some things
2020-02-19 10:48:16 +01:00
Wim Taymans
7df66cd6ad
pw-cat: keep our own time
...
Don't try to use the time from the io_position, it is updated in
the RT thread and might be slightly wrong for our purposes.
2020-02-19 10:19:59 +01:00
Wim Taymans
ddcb08a98a
pw-cat: read midi file from memory
...
mmap the midi file and read from memory. Simplifies some things and
allows us to potentially parse from the RT thread later.
2020-02-19 09:58:47 +01:00
Wim Taymans
b6a6d1f0bb
pw-cat: fix tempo changes
...
Use time in seconds as event timestamp.
Apply tempo from the new events, keep track of elapsed time and
time since tempo change to get the right time.
Skip metadata midi in pw-cat.
2020-02-18 16:13:35 +01:00
Wim Taymans
fe616e38d8
pw-cat: add midi support
2020-02-18 13:38:26 +01:00
Wim Taymans
319df9fce9
pw-cat: add option to set resampler quality
2020-02-14 20:34:08 +01:00
Wim Taymans
0a26c478f7
pw-cat: small cleaups
...
Set endianness correctly
Move setup of output file format outside of sample format function.
2020-02-13 09:51:25 +01:00
Wim Taymans
5e71a01e8d
pw-cat: fix setup of defaults
...
In record mode, setup the parameters before we open.
2020-02-13 08:59:41 +01:00
Wim Taymans
fe85a3b817
pw-cat: refactor a bit
...
Try to keep the sndfile code in one place
2020-02-12 17:57:42 +01:00
Wim Taymans
df65e0bcd3
pw-cat: fix remote name option
2020-02-12 13:39:47 +01:00
Wim Taymans
b2dfa83052
pw-cat: print channelmap in verbose mode
2020-02-06 16:50:59 +01:00
Wim Taymans
8abbf653e6
pw-cat: Use default channel layout when nothing given
...
Make channel layout definitions a little more useful. We can now
assign them to a layout_info struct or in the raw_info.
Make some default channel layouts for use in pw-cat
2020-02-04 15:54:57 +01:00
Wim Taymans
1cce9a69c8
pw-cat: add channel-map option and option to delay connect
...
If the target node is set to 0, remove the autoconnect flag. This makes
the session manager disable stream autoconnect and some other program
needs to connect the stream to a sink or node.
Use the channelmap from the file, if available.
Add option to specify/override the channel map for playback.
2020-02-04 11:45:45 +01:00
Wim Taymans
64391f1ed5
profiler: avoid negative times
2020-02-03 13:14:56 +01:00
Wim Taymans
a4a93a2a16
profiler: Improve profiler info
...
Split the profiler info into multiple properties.
Give feedback about time and logged samples while profiling.
2020-02-03 12:33:01 +01:00
Wim Taymans
6f31a16024
pw-profiler: add some more driver measurements
...
Add estimated period
Add reported driver delay
2020-01-31 17:56:00 +01:00
Wim Taymans
8b303361d8
pw-profiler: avoid copying invalid values
2020-01-31 16:31:35 +01:00
Wim Taymans
afdb6586b5
pw-profiler: various improvements
...
Small cleanups.
Print some useful status info.
Fail when there is no Profiler API found.
Only log data from the first driver we find.
2020-01-31 16:03:05 +01:00
Wim Taymans
3317af804b
pw-profiler: add profiler tool
...
Add Profiler object and fields.
Add profiler extension API. It notifies Profiler objects with
real-time performance data.
Add module that implements the profiler extension.
Add pw-profiler tool that binds to the profiler API and dumps the
data into a log file, gnuplot files, a html page and a script to
generate svg graphs. This is almost the same as what JACK2
JackEngineProfiling does.
2020-01-31 15:13:47 +01:00
Wim Taymans
ed13cd2ec8
pw-cli: improve help
2020-01-28 13:04:21 +01:00
Wim Taymans
1c6ce1778b
pw-cli: handle NULL when iterating globals
...
It is possible that the global map contains holes and then the
pw_map item has NULL data.
2020-01-28 12:55:01 +01:00
Pantelis Antoniou
e258382bec
pipewire-cli: Introduce an improved object dump method
...
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>
2020-01-28 12:45:24 +01:00
Pantelis Antoniou
193360abe6
pipewire-cli: Immediately bind the object on creation
...
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>
2020-01-28 12:45:21 +01:00
Wim Taymans
b5b3bfbe84
pw-cat: Don't set RT_PROCESS flag
...
The soundfile function calls are not safe to call from the real-time
thread so don't do that.
2020-01-28 10:35:29 +01:00
Wim Taymans
d43b98e1a4
pw-cat: print errno on errors
2020-01-28 10:35:07 +01:00
Wim Taymans
525ca21ece
pw-cat: fix pw-play and pw-record names
2020-01-28 10:33:48 +01:00
Wim Taymans
37396096df
pw-cat: fill in the media-name property
2020-01-27 16:54:19 +01:00
Wim Taymans
116b13b1e2
pw-cat: relax some more checks
...
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.
2020-01-27 16:38:35 +01:00
Wim Taymans
e1e93e5a88
pw-cat: fix s24 formats
...
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.
2020-01-27 15:47:13 +01:00