Wim Taymans
37b39135e9
pulse-server: improve find device by name
...
Also find the device by name if the name contains a string of the
index.
2020-10-21 16:38:30 +02:00
Gleb Popov
fc18a8ffbd
Fix build on FreeBSD.
2020-10-21 11:33:16 +00:00
Wim Taymans
64913f4c7c
protocol-native: ref the client while emiting error
...
Increase the client refcount while we emit an error to make sure
it doesn't get destroyed in the callbacks.
See #340
2020-10-21 13:25:00 +02:00
Wim Taymans
48d1b8d57d
pulse-server: fix property key remove
2020-10-21 12:03:45 +02:00
Wim Taymans
66173e4257
pulse-server: refactor stream property fixup
2020-10-21 12:03:13 +02:00
Wim Taymans
ee3298137b
pulse-server: fix some allocation errors
2020-10-21 12:02:42 +02:00
Wim Taymans
d6391070c4
pulse-server: use property keys
2020-10-21 12:01:40 +02:00
Wim Taymans
bc1192c8dd
pulse-server: handle message errors
2020-10-21 12:00:25 +02:00
Wim Taymans
4e3af9d122
pulse-server: support @DEFAULT_*@ wildcard in names
2020-10-21 10:55:14 +02:00
Wim Taymans
ff99a48acf
pulse-server: prebuf can be 0
2020-10-20 16:44:08 +02:00
Wim Taymans
d3ee29caff
pulse-server: fix format names
2020-10-20 16:39:31 +02:00
Wim Taymans
5b32125d44
pulse-server: handle format_info
...
Parse the format_info in CREATE_STREAM and use this to negotiate
the stream. Implement channel_map parsing.
Delay setting up the buffer attributes until we have negotiated a
format.
Makes GStreamer pulsesink work (rhythmbox,... )
2020-10-20 16:25:47 +02:00
Wim Taymans
aea7ace124
pulse-server: keep track of requested bytes
...
Keep track of the amount of bytes we already requested from the client
and don't ask for those again.
Fixes initial hickups in firefox and others.
2020-10-20 15:57:18 +02:00
Wim Taymans
9abc7993e1
pulse-server: fix props update
2020-10-20 13:18:54 +02:00
Wim Taymans
ae31ee92e7
pulse-server: free the client streams on disconnect
2020-10-20 11:02:22 +02:00
Wim Taymans
425abbf3e9
pulse-server: make sure messages are freed
...
don't leak the command messages.
Fixes #337
2020-10-20 11:01:17 +02:00
Wim Taymans
389a0eee48
pulse-server: clean up when the context is destroyed
2020-10-20 10:46:08 +02:00
Wim Taymans
0d9ae9d226
pulse-server: avoid SIGFPE when no format is given
...
Error out for now until we parse the format array.
2020-10-20 09:43:43 +02:00
Wim Taymans
925cc9b487
pulse-server: implement drain
2020-10-14 17:42:52 +02:00
Wim Taymans
58db8ca435
pulse-server: add a monitor for the sink
2020-10-14 16:45:46 +02:00
Wim Taymans
348110e58c
pulse-server: don't send error on connection error
2020-10-14 15:45:25 +02:00
Wim Taymans
c92ce17a9f
pulse-server: tweak minreq and fragsize
...
Use time instead of samples to calculate the min
2020-10-14 15:44:52 +02:00
Wim Taymans
2ddcb7b002
pulse-server: convert MEDIA_ROLE property
2020-10-14 14:57:24 +02:00
Wim Taymans
8f953dfdde
pulse-server: connect in the set_client_name
...
connect after we get the client_name call so that we have all
the client properties.
2020-10-09 16:44:55 +02:00
Wim Taymans
0e3198272b
remote-node: only update changed fields
2020-10-09 16:31:17 +02:00
Wim Taymans
85977634c1
client-node: only add props and params when mask is set
2020-10-09 16:30:00 +02:00
Wim Taymans
8b70a83c96
pulse-server: improve server registration
...
Take a list of addresses to listen on.
2020-10-09 13:31:22 +02:00
Wim Taymans
5b8a52cc78
pulse-server: cleanup servers
2020-10-09 13:31:22 +02:00
Wim Taymans
13dfa9d64b
pulse-server: update volume and mute for record streams
2020-10-08 19:36:12 +02:00
Wim Taymans
680f8bc645
pulse-server: set more flags
2020-10-08 19:35:58 +02:00
Wim Taymans
71e3052a33
pulse-server: reuse the socket
2020-10-08 18:06:12 +02:00
Wim Taymans
d44fdabea1
pulse-server: send messges when killed and disconnected
2020-10-08 18:06:12 +02:00
Wim Taymans
fde36ac6c2
pulse-server: use at least MIN_SAMPLES of samples per buffer
2020-10-08 18:06:12 +02:00
Wim Taymans
d01586bfa5
pulse-server: support network connections
2020-10-08 18:06:11 +02:00
Wim Taymans
177e897a88
pulse-server: pass data with a ringbuffer
...
Implement the process function from the RT thread and use a ringbuffer
to pass samples around.
2020-10-08 18:06:11 +02:00
Wim Taymans
138e61138f
pulse: resize message dynamically
2020-10-08 18:06:11 +02:00
Wim Taymans
f0102fd490
pulse: move pulse protocol to module
2020-10-08 18:06:11 +02:00
Wim Taymans
bcaf7cd722
adapter: remove redundant set_active call
2020-10-05 12:16:46 +02:00
Wim Taymans
e9fd38512e
node: improve debug
2020-09-17 10:34:42 +02:00
Wim Taymans
eaa08e209f
protocol-native: remove mainloop hook only once
2020-09-15 18:00:08 +02:00
Wim Taymans
1a2e783a6f
protocol-native: keep client around while processing
...
When we process the messages of a client, keep the client around
because some callback might have disconnected and tried to free
us.
2020-09-15 13:54:50 +02:00
George Kiagiadakis
613824ab0b
metadata: set bound id on the exporting resource
2020-08-31 15:57:52 +03:00
Wim Taymans
39513fb681
protocol-native: fix error reporting
...
Don't say that there is no runtime directory set when there is but
the server is not running.
Simplify things by first trying to connect to the user runtime directory
when set and then try the system directory. There is no need to manually
check the existance of the socket, connect wil that that and set the
appropriate error.
2020-08-21 11:15:24 +02:00
Jonas Holmberg
3e7609dcaf
protocol: Add system runtime directory for clients
...
Add /run/pipewire to the list of runtime directories so that clients can
connect to the system service without specifying runtime directory.
If the otherwise chosen directory (e.g. the user home directory) doesn't
contain any socket but /run/pipewire does, the latter will be used.
2020-08-19 17:46:50 +00:00
Wim Taymans
35534baf9d
remote-node: clear up mix structures when port is removed
2020-08-19 11:23:16 +02:00
Emmanuel Gil Peyrot
14fdf07e8f
Run codespell on the entire codebase
...
This tool detects and fixes common English spelling mistakes, with
generally very few mistakes.
Here is the command I used to generate this commit. There were a few
changes that had to be done manually, and of course adding the ignore
file:
```shell
codespell -I .codespell-ignore -x .codespell-ignore -w
```
I didn’t add it to the CI, but this would be a good place for it.
2020-08-17 17:16:31 +00:00
Wim Taymans
0955ecc4b0
client-node: avoid useless warnings
...
Mostly useless warnings while shutting down.
2020-08-10 18:15:14 +02:00
Wim Taymans
fb76f484a9
remote-node: also send spa_flags
2020-08-10 16:45:44 +02:00
Wim Taymans
5fda46fdb9
remote-node: activate node after init
...
Activate the node after we successfully created a proxy and
initialized it.
2020-08-07 11:52:35 +02:00
Wim Taymans
e5f85d6a4c
remote-node: clean node on error
2020-08-07 11:52:14 +02:00