Commit graph

4704 commits

Author SHA1 Message Date
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
4dd1e02526 jack: return error when out of midi events
Fixes #334
2020-10-19 23:30:44 +02:00
Wim Taymans
77b91823f3 a2dp: mark a2dp-source as stream and autoconnect 2020-10-19 18:53:18 +02:00
Wim Taymans
6cc3224031 a2dp-source: fix source
Use codec methods. Init codec at start.
Remove rate match until we actually implement this
Add some buffering of packets before we hand them out.
Always simply fill a buffer and hand it out.
don't emit signals when we are following another driver.
Acquire transport as soon as it goes to PENDING.
2020-10-19 18:25:52 +02:00
Wim Taymans
d727123b86 a2dp-codecs: add more codec params 2020-10-19 18:12:47 +02:00
Wim Taymans
cdb83fa225 a2dp-sbc: implement decode 2020-10-19 18:12:13 +02:00
Wim Taymans
42fde7e00d introspect: always have an active port 2020-10-19 17:59:53 +02:00
Wim Taymans
47680ffade pulse: disable rtkit in the client
It can cause SIGKILL and crash the compositor
2020-10-19 17:23:07 +02:00
Wim Taymans
a91d129698 a2dp-sink: fix timing 2020-10-19 15:35:45 +02:00
Wim Taymans
53ee5ce72a bluez5: make codecs configurable
Make the list of supported codecs available.
Register all supported codecs endpoints
Find the codec from the endpoint name
Put the codec on the transport for the sink to find.
2020-10-19 13:27:11 +02:00
Wim Taymans
e18c4d76dc a2dp: move codecs to separate files 2020-10-19 12:12:21 +02:00
Wim Taymans
5c5b9f61bb a2dp: generate format info from config in init 2020-10-19 10:38:22 +02:00
Wim Taymans
574c0afc93 a2dp: refactor codec functions 2020-10-19 09:48:57 +02:00
Wim Taymans
aaffda9d17 pulse: small cleanup 2020-10-19 09:31:54 +02:00
Wim Taymans
e1fc51d965 a2dp-sink: don't force flush 2020-10-16 13:25:35 +02:00
Wim Taymans
3be0e7e1c6 a2dp-sink: fix playback
Use a simple periodic timeout to pull in samples and write them to the
socket
2020-10-16 13:13:04 +02:00
Wim Taymans
1b7d052098 support: remove useless assignment 2020-10-16 13:11:27 +02:00
Wim Taymans
970ed0bdd6 context: also take quantum from the driver if any 2020-10-16 13:10:47 +02:00
Wim Taymans
56f84ce0e4 pulse: add more debug info 2020-10-15 16:08:25 +02:00
Wim Taymans
df912a9059 acp: fix > 2 channel maps 2020-10-15 09:46:14 +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
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