Commit graph

32 commits

Author SHA1 Message Date
Arun Raghavan
8666bcac65 pulse: Deal with header consitification in PulseAudio 13.0
The 13.0 release included changes to constify various parameters in the
public headers, which breaks our implementation. This adds an optional
const qualifier based on the version we're compiling against to deal
with that. There are some warnings caused by bad annotations upstream
which should be fixed separately.
2019-09-27 07:45:15 +05:30
Wim Taymans
2308318b39 use properties instead of parent_id 2019-08-16 22:10:08 +02:00
Wim Taymans
69ad904b63 pulse: update per channel volumes
Use the channelVolume property to update the individual channel
volumes.
Update property values to match pulseaudio.

Handle the case where the number of channels changes. In pulse this
can normally never happen. Emit a remove and add of the node when
this happens as to not confuse pulse clients.
2019-08-12 12:34:54 +02:00
Wim Taymans
67c1dca897 Update for new adapter nodes 2019-07-02 17:38:16 +02:00
Wim Taymans
531185845a fix for api change 2019-05-29 10:38:49 +02:00
Wim Taymans
d4cf47ec55 context: use subscribe params
Improve volume setting
2019-03-18 16:11:23 +01:00
Wim Taymans
571cb214d5 context: improve introspection
When subscribing, always bind to all objects we are interested in.
Wait until all info is collected and then reply to introspection
requests.
2019-03-15 20:31:20 +01:00
Wim Taymans
49c99f8dee context: handle context errors
When the context is in error it might be unreffed. Make sure we don't
ever unref the core from the callback because that is not allowed.
Instead, add a defered to the mainloop to clean up later.
2019-03-14 13:23:20 +01:00
Wim Taymans
cb7b25277b context: cancel operations when globals are removed
Keep track of all the operations pending for a global and cancel them
when the global is removed.
2019-03-12 12:15:28 +01:00
Wim Taymans
3eb1a09cd2 introspect: wait for enum to complete
Trigger another sync after starting node or device param enum
2019-03-11 18:05:24 +01:00
Wim Taymans
83b2aca072 pulse: update for seq change 2019-02-25 17:16:14 +01:00
Wim Taymans
71e5c13191 operation: fix for async changes 2019-02-20 17:50:22 +01:00
Wim Taymans
f509e8552d pulse: improve includes 2019-01-14 13:01:47 +01:00
Wim Taymans
14573f1201 pulse: use core_proxy to listen for done and info messages 2019-01-10 09:31:37 +01:00
Wim Taymans
89fb73a949 fix signed and unsigned comparisons 2019-01-07 15:04:34 +01:00
Wim Taymans
9062145e13 implement more API
Implement the sink/source volume/mute api
2019-01-04 10:00:57 +01:00
Wim Taymans
72b61f614a stream: handle monitor sources 2018-12-11 16:37:30 +01:00
Wim Taymans
ad723e3793 context: log more info on errors 2018-12-03 15:12:27 +01:00
Wim Taymans
2864e7ec75 introspect: improve introspection
Update introspection structures when we get the info from pipewire.
2018-11-29 17:30:24 +01:00
Wim Taymans
08d6071693 context: list audio devices as cards
Find the sink/source a stream is linked to
2018-11-28 11:13:21 +01:00
Wim Taymans
01aa9a5960 introspect: implement enough to make gnome-control-center work
We can see sources and sink and change the volume/mute of streams
2018-10-19 16:57:03 +02:00
Wim Taymans
a82a5dc26a context: make some errors less verbose, like libpulse 2018-10-09 16:36:45 +02:00
Wim Taymans
520a9831e7 stream: fix connect by name
Look up the node id for the given device name and use that to connect.
2018-09-21 16:46:51 +02:00
Wim Taymans
be2dee53bc update to new types 2018-08-24 11:00:33 +02:00
Wim Taymans
1ea54ac9c5 pulse: improve remote sync
Add an explicit method to make the operation to a roundtrip to sync
pending actions.
Implement drain.
2018-08-02 10:31:29 +02:00
Wim Taymans
71d87c589d stream: fix introspection of linked device 2018-07-04 15:33:20 +02:00
Wim Taymans
b98c98cc8d context: rework how we introspect
Use the properties of the global to mark the global type, use this
to filter the objects.
Hook up the volume control
2018-07-03 22:03:25 +02:00
Wim Taymans
11ee416bb0 stream: work on pending buffers 2018-06-26 16:57:49 +02:00
Wim Taymans
a30722c442 pulse: various fixes and improvements 2018-06-22 17:41:12 +02:00
Wim Taymans
2254a124af implement more api 2018-06-07 11:16:09 +02:00
Wim Taymans
fe932db2c6 Various improvements
context: fix memory free
subscribe: implement dummy methods
introspect: implement more
stream: keep track of dequeued buffers ourselves because we need to
be able to cancel and keep track of writable size.
2018-06-05 20:10:31 +02:00
Wim Taymans
faa5984fce Initial import 2018-06-01 11:28:31 +02:00