Commit graph

4362 commits

Author SHA1 Message Date
Wim Taymans 374210c890 acp: add per device port list
Add the list of possible ports for a device.
Pass the allowed devices in the routes.
Store the active port in the device.

Fixes enumeration of ports on devices with UCM.
2020-08-10 14:25:03 +02:00
Wim Taymans 5d90fe26f3 stream: use PIPEWIRE_NODE env as target_id fallback 2020-08-07 16:19:06 +02:00
Wim Taymans b89e07f8c0 stream: use PIPEWIRE_LATENCY env as fallback 2020-08-07 15:15:40 +02:00
Wim Taymans 5fda46fdb9 remote-node: activate node after init
Activate the node after we successfully created a proxy and
initialized it.
2020-08-07 11:52:35 +02:00
Wim Taymans e5f85d6a4c remote-node: clean node on error 2020-08-07 11:52:14 +02:00
Wim Taymans a0777d7806 policy-node: only set peer when we actually linked something 2020-08-07 10:50:30 +02:00
Wim Taymans cb3f1b51aa adapter: only become started on success 2020-08-07 10:49:52 +02:00
Wim Taymans f4e8ebab51 improve debug and error messages 2020-08-07 10:47:18 +02:00
Wim Taymans 44e74c599f node: add group_id property
Nodes with the same group id are scheduled by the same driver, even
if they are not in any way linked to eachother.
2020-08-06 18:00:46 +02:00
Wim Taymans 8b2617227a client-node: improve debug 2020-08-06 17:59:58 +02:00
Wim Taymans 46b8b67ee6 policy-node: small cleanup
to keep the orinal node around if we want to do something with it
later
2020-08-06 17:58:42 +02:00
Wim Taymans 7cdef8aa32 media-session: improve debug 2020-08-06 17:11:35 +02:00
Wim Taymans b9862868c1 gst: convert properties to strings when we can 2020-08-06 15:10:44 +02:00
Wim Taymans e71936f870 Improve naming
master -> driving
priority_master -> priority_driver
segment_master -> segment_owner
2020-08-06 13:49:33 +02:00
Wim Taymans 98b7dc7c0c gst: don't do set_caps from the pipewire callback
Don't do any GStreamer data transport from the PipeWire callback
because it might block in preroll and block our communication with
PipeWire. Instead, take the caps and wake up the caller to continue
with negotiation.
2020-08-06 13:03:40 +02:00
Wim Taymans 34334b6ea3 gst: increase buffers in sink 2020-08-06 12:58:13 +02:00
Wim Taymans 0347a753c9 gst: pool add support for DONT_WAIT flag 2020-08-06 12:52:16 +02:00
Wim Taymans 4b56574ce0 policy-node: don't fail on incomplete format
Use some defaults when parsing the audio format.
2020-08-06 12:51:20 +02:00
Wim Taymans 8a9bb9dabb Use fcnt F_DUPFD_CLOEXEC to dup an fd
Closes #38
2020-08-06 11:08:20 +02:00
Wim Taymans f961c726de param: add type info for volumeStep and Base 2020-08-05 20:25:55 +02:00
Wim Taymans 209a729e2e port: only warn if we're not cleaning up 2020-08-05 17:56:21 +02:00
Wim Taymans cb14b41537 pw-cat: enable rtkit 2020-08-05 17:46:51 +02:00
Wim Taymans 2cf5bf7ac1 context: make it possible to control loaded modules
use the PIPEWIRE_PROFILE_MODULES env variable to load the modules
when nothing else is given.
2020-08-05 17:37:40 +02:00
Wim Taymans 8e3ae33550 pulse: enable rtkit on the client 2020-08-05 17:37:17 +02:00
Wim Taymans eeeca7ecd2 stream: set the right NODE_NAME 2020-08-05 13:43:56 +02:00
Wim Taymans 469dff0153 use global_update_keys
First set the properties in the object itself and then copy them
over to the global. This ensure that the global properties are
also in the object and makes code a bit cleaner.

It also make it possible to use the global id to make the property
values unique, if we want to later .
2020-08-05 12:55:33 +02:00
Wim Taymans f79c347667 global: add method to update global keys 2020-08-05 12:29:19 +02:00
Wim Taymans 3abd46b619 jack: Use out node name from the server
Get the node name from the global info when we see it.
Check if the name changed and set the right result flag for the app.
2020-08-05 12:26:59 +02:00
Wim Taymans cebd67e88b properties: use the _for_each iterator 2020-08-05 12:26:26 +02:00
Wim Taymans 9290137931 pulse: handle NULL pw_stream
The pipewire stream might have been destroyed when the pulse stream
is freed.
2020-08-04 18:20:20 +02:00
Wim Taymans 377b3f9d42 pulse: always load the registry
Always get the registry, even if we're not using the introspect API
we still need it to keep track of the linked devices.
2020-08-04 18:16:02 +02:00
Wim Taymans 653465a1b1 pulse: handle device_name of NULL as error 2020-08-04 18:15:19 +02:00
Wim Taymans 979fec288e stream: let the operation emit the TERMINATED state
When we disconnect, let the operation emit the TERMINATED state
because some apps expect this state to be emited asynchronously.

Makes GStreamer pulsesink work.

Fixes #210
2020-08-04 18:13:37 +02:00
Wim Taymans 94c23b7ed1 pulse: handle memory user_data of NULL 2020-08-04 18:11:58 +02:00
Wim Taymans 35376fc415 pulse: improve debug 2020-08-04 18:07:20 +02:00
Wim Taymans 9edb0c1206 pulse: actually remember the default source 2020-08-04 17:21:15 +02:00
Wim Taymans db12f47505 0.3.9 2020-08-04 14:30:27 +02:00
Wim Taymans ab999f00ae link: don't connect to port destroy signal
Now that _port_destroy will first destroy all the links, there is no
need to listen for the destroy signal anymore in the link.
2020-08-04 14:13:44 +02:00
Wim Taymans 5bf6acad06 alsa: use PIPEWIRE_REMOTE env variable 2020-08-04 14:13:07 +02:00
Wim Taymans 64067bafe3 media-session: remove listener 2020-08-04 13:46:22 +02:00
Wim Taymans 77bd687bac acp: fix size of array 2020-08-04 12:05:56 +02:00
Wim Taymans 007c50df56 stream: clear user data on flush
Or else we might add the memory to the free list again when
we free the buffers. Fixes audacity using the pulseaudio backend
in portaudio.
2020-08-03 21:53:51 +02:00
Wim Taymans 66816580bc alsa: improve configuration of NICK 2020-08-03 18:16:53 +02:00
Wim Taymans 9943733b8c acp: pass all properties when creating a card
They might contain other info like prefered card name etc.
2020-08-03 18:15:04 +02:00
Wim Taymans d76b509995 jack: prefer nick for node name
The nick is shorter and nicer for jack applications. We have the
full description in the port alias 2.
2020-08-03 18:13:31 +02:00
Wim Taymans d57da19f26 client-device: first set implementation, then register
Setting the implementation updates the properties so that we
have more info when creating the global.
2020-08-03 18:11:12 +02:00
Wim Taymans 7f7a8ccc88 acp: use some existing keys and add some new ones 2020-08-03 17:08:46 +02:00
Wim Taymans 79937676a4 alsa: add profile description in node description 2020-08-03 16:28:09 +02:00
Wim Taymans a655e8f6df alsa-util: fix check for digit
Fix the check for a digit by checking if the value is between the
*character* '0' (not *value* 0) and '9'.
2020-08-03 10:10:04 +02:00
Wim Taymans 2d76a00e20 stream: fix printf modifier 2020-08-03 09:56:37 +02:00