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
Wim Taymans
f4e8ebab51
improve debug and error messages
2020-08-07 10:47:18 +02:00
Wim Taymans
8b2617227a
client-node: improve debug
2020-08-06 17:59:58 +02:00
Wim Taymans
8a9bb9dabb
Use fcnt F_DUPFD_CLOEXEC to dup an fd
...
Closes #38
2020-08-06 11:08:20 +02:00
Wim Taymans
469dff0153
use global_update_keys
...
First set the properties in the object itself and then copy them
over to the global. This ensure that the global properties are
also in the object and makes code a bit cleaner.
It also make it possible to use the global id to make the property
values unique, if we want to later .
2020-08-05 12:55:33 +02:00
Wim Taymans
d57da19f26
client-device: first set implementation, then register
...
Setting the implementation updates the properties so that we
have more info when creating the global.
2020-08-03 18:11:12 +02:00