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