Commit graph

4730 commits

Author SHA1 Message Date
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
1bd31c1cf1 don't force a MEDIA_ROLE property
The application has to set a media role.
2020-10-14 12:11:35 +02:00
Wim Taymans
6469663265 pulse: only report suspended when not corked
We only want to be in the suspended state when we are paused bu didn't
cork ourselves.

See #300
2020-10-13 20:54:39 +02:00
Wim Taymans
477d6e0b7f acp: fixup impossible decibel ranges 2020-10-13 17:24:23 +02:00
Wim Taymans
4e9b81960f acp: sync 2020-10-13 17:23:36 +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
421a15939d pulse: clear global on the stream when destroyed 2020-10-13 10:19:02 +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
47ab075895 buffer: clarify data type mask 2020-10-09 17:39:32 +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
Wim Taymans
12e6dd89e2 client: register client global after update properties
This way we only expose the client after we have all the properties.
Also add a new CLIENT_ACCESS property that contains the desired
client access mode.
2020-10-09 13:31:22 +02:00
Wim Taymans
8b70a83c96 pulse-server: improve server registration
Take a list of addresses to listen on.
2020-10-09 13:31:22 +02:00
Wim Taymans
5b8a52cc78 pulse-server: cleanup servers 2020-10-09 13:31:22 +02:00
Wim Taymans
13dfa9d64b pulse-server: update volume and mute for record streams 2020-10-08 19:36:12 +02:00
Wim Taymans
680f8bc645 pulse-server: set more flags 2020-10-08 19:35:58 +02:00
Wim Taymans
71e3052a33 pulse-server: reuse the socket 2020-10-08 18:06:12 +02:00
Wim Taymans
d44fdabea1 pulse-server: send messges when killed and disconnected 2020-10-08 18:06:12 +02:00
Wim Taymans
fde36ac6c2 pulse-server: use at least MIN_SAMPLES of samples per buffer 2020-10-08 18:06:12 +02:00
Wim Taymans
d01586bfa5 pulse-server: support network connections 2020-10-08 18:06:11 +02:00
Wim Taymans
177e897a88 pulse-server: pass data with a ringbuffer
Implement the process function from the RT thread and use a ringbuffer
to pass samples around.
2020-10-08 18:06:11 +02:00
Wim Taymans
138e61138f pulse: resize message dynamically 2020-10-08 18:06:11 +02:00
Wim Taymans
f0102fd490 pulse: move pulse protocol to module 2020-10-08 18:06:11 +02:00
Wim Taymans
17843ae7cb pulse-bridge: fix reply of record latency
Makes bluejeans in firefox work
2020-10-08 18:06:11 +02:00
Wim Taymans
fead5c18d6 pulse-bridge: fix state of source 2020-10-08 18:06:11 +02:00
Wim Taymans
3194d5ca81 pulse-bridge: add introspection of dummy sink/source 2020-10-08 18:06:11 +02:00
Wim Taymans
6f6337e732 pulse-bridge: support record streams 2020-10-08 18:06:11 +02:00
Wim Taymans
7c1fbf5bee pulse-bridge: rework messages
Make recycled message blocks for receiving and sending data.
Implement async flushing out the output queue.
2020-10-08 18:06:11 +02:00
Wim Taymans
4ad085ef96 pulse-bridge: work more on timings
Fixes sync in firefox
2020-10-08 18:06:11 +02:00
Wim Taymans
ab4def7e5f pulse: respect flags to set volume/mute 2020-10-08 18:06:11 +02:00
Wim Taymans
a4874abc46 pulse: restore volume and muted 2020-10-08 18:06:11 +02:00
Wim Taymans
c81021a742 channelmix: keep amount of volumes we parsed 2020-10-08 18:06:11 +02:00
Wim Taymans
630889493c pulse-bridge: Update client properties 2020-10-08 18:06:11 +02:00
Wim Taymans
949f923b80 pulse-bridge: implement timing and corking 2020-10-08 18:06:11 +02:00
Wim Taymans
a536c38fbe pulse: use send to avoid SIGPIPE signals 2020-10-08 18:06:11 +02:00