Commit graph

61 commits

Author SHA1 Message Date
Wim Taymans
35edefdaaf context: emit change event when nodes are linked 2018-12-14 16:42:01 +01:00
Wim Taymans
b177f1d146 context: small cleanups 2018-12-14 16:41:19 +01:00
Wim Taymans
c9ac5e6e1e context: report error only once 2018-12-14 16:39:19 +01:00
Wim Taymans
72b61f614a stream: handle monitor sources 2018-12-11 16:37:30 +01:00
Wim Taymans
c201a1e666 stream: enable monitor when PEAK_DETECT flag is set 2018-12-05 16:02:03 +01:00
Wim Taymans
ece9cff495 introspect: implement kill operations 2018-12-04 16:36:49 +01:00
Wim Taymans
bb101afa0c introspect: merge client properties in sink_input/source_output
sink_input and source_output must contain the merged properties of
the client.
2018-12-04 16:34:58 +01:00
Wim Taymans
e0970386f0 context: add properties 2018-12-04 16:33:59 +01:00
Wim Taymans
2d4ecaf85d introspect: use right client property 2018-12-04 13:38:58 +01:00
Wim Taymans
1efd5f185c proplist: implement merge mode 2018-12-04 13:38:46 +01:00
Wim Taymans
84a7bf671c stream: connect to source and sink
Stream: also connect to the right source, try to convert the name to
index when lookup fails, just like what pulseaudio does.
Implement more proplist functions, add some more info to the stream.
stream: handle NULL format
Improve introspection of the sink_input and source_output name, this
should be the media.name when possible.
2018-12-04 11:50:23 +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
d02a8375c3 introspect: implement more introspect 2018-11-28 13:38:37 +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
e8dfd22a6b stream: update for delay sign change 2018-11-09 15:25:39 +01:00
Wim Taymans
88a786fdad stream: use TIMESPEC_TO_USEC 2018-11-07 09:57:22 +01:00
Wim Taymans
a70b02064c stream: fix for target_id 2018-11-02 12:31:43 +01:00
Wim Taymans
ed2f054e76 volume: fix for old api 2018-10-30 09:50:44 +00:00
Wim Taymans
2a1328533f stream: use pw_stream_update_properties 2018-10-23 16:50:17 +02:00
Wim Taymans
a14e16806f mainloop-glib: destroy the source 2018-10-19 17:15:19 +02:00
Wim Taymans
e4c94bf12d proplist: fix compilation 2018-10-19 17:00:25 +02: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
faccc8d506 implement more methods
Implement extensions with dummies
Implement some more introspection, enough to make pavucontrol start
Implement volume changes on sink_input
2018-10-19 13:30:20 +02:00
Wim Taymans
5498d9c726 glib-mainloop: implement glib mainloop support 2018-10-19 13:27:58 +02:00
Wim Taymans
b742d7533e stream: only queue buffer when filled
We need to completely fill the buffer before we queue the buffer. If we
don't do this, we might have reported a larger writable size than
what we actually can do and that makes clients fail.

This is not entirely completely correct because a client can expect to
have its buffer sent as soon as it completes the write. We should really
just queue the data in a separate queue when we run out of buffers.
2018-10-16 09:58:14 +02:00
Wim Taymans
f74a0fb9bd stream: implement _set_name 2018-10-16 09:56:12 +02:00
Wim Taymans
a00c00baed stream: maxlength / size is the number of buffers we want
tlength is what the server buffers and is of no importance for deciding
the number of buffers.
2018-10-09 17:31:06 +02:00
Wim Taymans
9d2cf17516 bitset: init and clear bitset correctly 2018-10-09 17:30:37 +02:00
Wim Taymans
a91dea00d0 stream: implement cork and flush
Implement cork with _set_active and flush with the new _flush
method.
2018-10-09 16:39:19 +02:00
Wim Taymans
0870fc8673 stream: use latency of minreq/2
Because we don't buffer tlength on the server side, we need to use
half of the minreq as headroom in the server.
2018-10-09 16:37:49 +02:00
Wim Taymans
1509b51966 stream: handle channelmap in _new_extended 2018-10-09 16:37:23 +02:00
Wim Taymans
a82a5dc26a context: make some errors less verbose, like libpulse 2018-10-09 16:36:45 +02:00
Wim Taymans
6a4da8a6b3 context: improve properties 2018-10-03 20:14:34 +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
6df567e6d4 stream: assume default channels when invalid 2018-09-19 17:30:59 +02:00
Wim Taymans
d41cde1bb8 stream: add channel mappings 2018-09-17 09:51:39 +02:00
Wim Taymans
814a9592f3 stream: update for API changes 2018-09-05 16:48:13 +02:00
Wim Taymans
5fb984a647 update for type changes 2018-08-29 09:54:54 +02:00
Wim Taymans
4c7fd98479 stream: update for api changes 2018-08-27 09:06:57 +02:00
Wim Taymans
be2dee53bc update to new types 2018-08-24 11:00:33 +02:00
Wim Taymans
ffa3b03982 stream: update for rate changes 2018-08-15 21:46:50 +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
e64413fee1 stream: move some debug to trace 2018-07-31 21:38:01 +02:00
Wim Taymans
f73d640cb8 stream: fix read and write index for capture 2018-07-31 21:37:41 +02:00
Wim Taymans
6eb6e31beb stream: improve timing
Use the new stream time information to get more accurate read and
write pointers.
2018-07-19 13:35:46 +02:00
Wim Taymans
ffde111099 stream: update for rate 2018-07-17 17:40:33 +02:00
Wim Taymans
27d34dde88 introspect: improve introspection
stream: set roles
2018-07-04 18:43:45 +02:00
Wim Taymans
71d87c589d stream: fix introspection of linked device 2018-07-04 15:33:20 +02:00
Wim Taymans
3cfbdc750a introspect: don't store mute state 2018-07-03 22:09:53 +02:00