Commit graph

86 commits

Author SHA1 Message Date
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
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
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
b90101bf5b channelmap: fix parse 2018-06-07 11:04:52 +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
68643fd25a context: don't free NULL properties 2018-06-01 11:42:23 +02:00
Wim Taymans
5a0594db35 remove unused files 2018-06-01 11:32:07 +02:00
Wim Taymans
faa5984fce Initial import 2018-06-01 11:28:31 +02:00