Wim Taymans
398dc3055b
context: improve profile parsing
...
First parse the profile into a strv so that we have a copy of the
profiles and it can't change when the original string (in properties
or environment) gets changed.
See #345
2020-10-21 18:09:34 +02:00
Wim Taymans
2193d03eab
pulse-server: handle the case with record from monitor
...
Also handle the case where the client asks to record from the monitor
source directly.
2020-10-21 17:09:15 +02:00
Wim Taymans
d55bc1eb86
keys: add PW_KEY_STREAM_CAPTURE_SINK
...
Add a property for capture stream to signal that they would like
to capture the output (monitor) of the default sink instead of the
default source.
Check the desired device we would like to capture from and handle
the capture from the sink by monitoring the monitor source.
2020-10-21 17:00:49 +02:00
Wim Taymans
37b39135e9
pulse-server: improve find device by name
...
Also find the device by name if the name contains a string of the
index.
2020-10-21 16:38:30 +02:00
Wim Taymans
a2c70781a3
media-session: use rtkit for session manager data thread
2020-10-21 16:36:37 +02:00
Wim Taymans
25e4f2088c
policy-node: also handle the single stream move
2020-10-21 15:39:37 +02:00
Wim Taymans
bfac6f04db
policy-node: avoid rescan when moving a node
...
When we are moving a node, the node becomes unlinked temporarily.
Make sure the rescan code doesn't try to link it to a node
meanwhile.
Fixes #344
2020-10-21 15:27:50 +02:00
Gleb Popov
fc18a8ffbd
Fix build on FreeBSD.
2020-10-21 11:33:16 +00:00
Wim Taymans
64913f4c7c
protocol-native: ref the client while emiting error
...
Increase the client refcount while we emit an error to make sure
it doesn't get destroyed in the callbacks.
See #340
2020-10-21 13:25:00 +02:00
Wim Taymans
48d1b8d57d
pulse-server: fix property key remove
2020-10-21 12:03:45 +02:00
Wim Taymans
66173e4257
pulse-server: refactor stream property fixup
2020-10-21 12:03:13 +02:00
Wim Taymans
ee3298137b
pulse-server: fix some allocation errors
2020-10-21 12:02:42 +02:00
Wim Taymans
d6391070c4
pulse-server: use property keys
2020-10-21 12:01:40 +02:00
Wim Taymans
bc1192c8dd
pulse-server: handle message errors
2020-10-21 12:00:25 +02:00
Wim Taymans
bb8bd3d76d
pw-cat: don't put empty strings in metadata
2020-10-21 11:03:36 +02:00
Wim Taymans
4e3af9d122
pulse-server: support @DEFAULT_*@ wildcard in names
2020-10-21 10:55:14 +02:00
Wim Taymans
4818795d31
pw-cat: set media.filename
2020-10-20 17:16:33 +02:00
Wim Taymans
74eaf5a2ca
pw-cat: parse metadata and make a nice media.name if possible
2020-10-20 17:11:00 +02:00
Wim Taymans
ff99a48acf
pulse-server: prebuf can be 0
2020-10-20 16:44:08 +02:00
Wim Taymans
d3ee29caff
pulse-server: fix format names
2020-10-20 16:39:31 +02:00
Wim Taymans
5b32125d44
pulse-server: handle format_info
...
Parse the format_info in CREATE_STREAM and use this to negotiate
the stream. Implement channel_map parsing.
Delay setting up the buffer attributes until we have negotiated a
format.
Makes GStreamer pulsesink work (rhythmbox,... )
2020-10-20 16:25:47 +02:00
Wim Taymans
aea7ace124
pulse-server: keep track of requested bytes
...
Keep track of the amount of bytes we already requested from the client
and don't ask for those again.
Fixes initial hickups in firefox and others.
2020-10-20 15:57:18 +02:00
Wim Taymans
9abc7993e1
pulse-server: fix props update
2020-10-20 13:18:54 +02:00
Wim Taymans
d7802202b0
gst: init last_seq
...
Fixes #339
2020-10-20 11:05:07 +02:00
Wim Taymans
ae31ee92e7
pulse-server: free the client streams on disconnect
2020-10-20 11:02:22 +02:00
Wim Taymans
425abbf3e9
pulse-server: make sure messages are freed
...
don't leak the command messages.
Fixes #337
2020-10-20 11:01:17 +02:00
Wim Taymans
389a0eee48
pulse-server: clean up when the context is destroyed
2020-10-20 10:46:08 +02:00
Wim Taymans
0d9ae9d226
pulse-server: avoid SIGFPE when no format is given
...
Error out for now until we parse the format array.
2020-10-20 09:43:43 +02:00
Wim Taymans
77b91823f3
a2dp: mark a2dp-source as stream and autoconnect
2020-10-19 18:53:18 +02:00
Wim Taymans
970ed0bdd6
context: also take quantum from the driver if any
2020-10-16 13:10:47 +02:00
Wim Taymans
925cc9b487
pulse-server: implement drain
2020-10-14 17:42:52 +02:00
Wim Taymans
58db8ca435
pulse-server: add a monitor for the sink
2020-10-14 16:45:46 +02:00
Wim Taymans
348110e58c
pulse-server: don't send error on connection error
2020-10-14 15:45:25 +02:00
Wim Taymans
c92ce17a9f
pulse-server: tweak minreq and fragsize
...
Use time instead of samples to calculate the min
2020-10-14 15:44:52 +02:00
Wim Taymans
2ddcb7b002
pulse-server: convert MEDIA_ROLE property
2020-10-14 14:57:24 +02:00
Wim Taymans
3733a5e219
media-session: save last target_node
...
Keep a per node entry of the saved target node and use this when
there is no other target node.
When explicitly moving a stream, save the new target node.
2020-10-14 12:35:27 +02:00
Wim Taymans
4b7b2a9a10
gst: add option to disable device provider
2020-10-13 12:40:48 +02:00
Wim Taymans
10bc423819
impl-link: only recalc graph when reaching PAUSED upwards
...
Don't recalc when destroying the link (ACTIVE->PAUSED)
2020-10-13 10:19:41 +02:00
Wim Taymans
969b7b6287
pipewire: clear log first, then remove plugins
...
Reset the logger first before we unload the plugins or else we might
try to log after we unloaded the logger plugin and crash.
2020-10-13 09:52:52 +02:00
Wim Taymans
50d07be7fc
impl-link: also stop checking if ACTIVE
2020-10-13 09:46:51 +02:00
Wim Taymans
f0a686e784
pipewire: make sure we clear everything in deinit
...
See #323
2020-10-09 19:59:24 +02:00
Wim Taymans
102583c550
Revert "impl-link: only emit active<->paused"
...
This reverts commit 857f7ca67f .
Not a good idea. We should always notify about the steady state of
the link, which is PAUSED/ACTIVE or ERROR. the other ones are
intermediate and not so important.
2020-10-09 16:52:01 +02:00
Wim Taymans
857f7ca67f
impl-link: only emit active<->paused
2020-10-09 16:49:49 +02:00
Wim Taymans
8f953dfdde
pulse-server: connect in the set_client_name
...
connect after we get the client_name call so that we have all
the client properties.
2020-10-09 16:44:55 +02:00
Wim Taymans
391fa81fa8
impl-link: add an active state
...
Avoid emission of events for each state change.
Add an active state and aim to only emit events for paused<->active
state changed or error.
2020-10-09 16:43:31 +02:00
Wim Taymans
f67cbd7444
impl-link: don't notify when nothing changed
2020-10-09 16:42:30 +02:00
Wim Taymans
ea92df814c
node: avoid useless info events
...
If only the flags of the node changed, emit the info_changed signal so
that the client-node can update the flags but don't notify the
listeners, the flag is not included in that info.
2020-10-09 16:40:23 +02:00
Wim Taymans
f84eacdd5b
private: node and port flags are uin64_t
2020-10-09 16:33:23 +02:00
Wim Taymans
0e3198272b
remote-node: only update changed fields
2020-10-09 16:31:17 +02:00
Wim Taymans
85977634c1
client-node: only add props and params when mask is set
2020-10-09 16:30:00 +02:00