Commit graph

54 commits

Author SHA1 Message Date
Wim Taymans
7d5e860d0c update for keys 2019-05-24 15:47:05 +02:00
Wim Taymans
f99480c66e stream: we can use minreq directly 2019-04-17 15:25:05 +02:00
Wim Taymans
093a068d34 stream: deactivate a stream when unlinked 2019-04-17 15:24:47 +02: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
d379fa348b stream: ignore state changes when terminated 2019-03-08 17:01:38 +01:00
Wim Taymans
5f9200d9ee pulse: add SPA_EXPORT 2019-02-06 13:23:43 +01:00
Wim Taymans
386e5c966c pulse: update to new pod api 2019-01-16 11:04:22 +01:00
Wim Taymans
ac4ad7c8f1 stream: avoid void * arithmetics 2019-01-08 11:55:42 +01:00
Wim Taymans
bebfcf0190 stream: don't use buffer id 2019-01-07 17:54:31 +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
96205687c5 stream: make sure we have a context
Make sure we ref the stream because else it would be freed when
disconnected and we can't get the context anymore.
2018-12-17 13:27:27 +01:00
Wim Taymans
41513f11f3 context: improve cleanup 2018-12-14 16:43:34 +01:00
Wim Taymans
b177f1d146 context: small cleanups 2018-12-14 16:41: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
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
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
2a1328533f stream: use pw_stream_update_properties 2018-10-23 16:50:17 +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
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
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
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
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
e29a35f0ca stream: don't dequeue in peek 2018-06-26 15:04:33 +02:00
Wim Taymans
c3a1807eff stream: improve latency requirements 2018-06-26 15:04:08 +02:00