Commit graph

4981 commits

Author SHA1 Message Date
Wim Taymans
b59eff4c29 pulse: handle EINTR from the custom poll function 2020-11-02 16:45:49 +01:00
Wim Taymans
c43026d93e don't handle EINTR and EAGAIN as the same
EAGAIN means a non-blocking operation would block and we should not
try again right away but leave the loop and wait instead.

See #358
2020-11-02 16:43:56 +01:00
Wim Taymans
e094640c7b handle EINTR and EAGAIN
Just do the call again instead of failing or logging an error.

Fixes #358
2020-11-02 14:51:07 +01:00
Wim Taymans
395a30b5d6 a2dp: fix sign of out_decoded 2020-11-02 09:16:59 +01:00
Grzegorz Uriasz
c1530ba171 Use RegisterApplication in bluez5 for A2DP if possible 2020-11-02 09:14:37 +01:00
George Kiagiadakis
5c749cf7c3 alsa-acp: bind the acp log func to the spa_log object directly
When the acp-device impl struct is passed to the log func, it is
possible that when this device is removed, another device using acp
is going to crash while logging a message
2020-11-02 08:10:29 +00:00
Wim Taymans
dd45a27d86 pulse-server: improve error message
See #356
2020-11-02 09:08:42 +01:00
Wim Taymans
94dbd4f9b8 warn about and fix some -Wpointer-sign warnings 2020-11-02 09:03:53 +01:00
Oschowa
92c541ea03 pipewire-alsa: Make sure to always fill the pipewire buffers with
silence on process if there is not enough data.
This fixes noise with the retroarch alsa backend on pause, which doesn't
actually pause the device.
2020-11-01 19:28:38 +01:00
Oschowa
86acbabe8f pipewire-alsa: implement pause 2020-11-01 19:04:37 +01:00
Oschowa
d960724dfc pipewire-alsa: fix inconsistent formating (tabs vs. spaces) 2020-11-01 18:38:46 +01:00
Wim Taymans
165ad6e758 pulse-server: don't ever block
Handle EAGAIN and EWOULDBLOCK and go back into the poll loop instead
of blocking.
2020-10-31 21:21:00 +01:00
Wim Taymans
4bb859fb82 pulse-server: use name if description not set 2020-10-31 21:20:39 +01:00
Wim Taymans
98b1b8090d pulse-server: don't underrun when draining 2020-10-31 15:22:32 +01:00
Wim Taymans
3960a88478 0.3.14 2020-10-30 15:35:26 +01:00
Wim Taymans
12b4d6d965 impl-client: finish register when updating properties
Also handle client client registration when old clients
update the properties.
2020-10-30 12:56:58 +01:00
Wim Taymans
21bda3102b connection: do version check only once 2020-10-30 12:56:37 +01:00
Wim Taymans
0ef41252bd access: debug access control some more 2020-10-30 11:54:39 +01:00
Wim Taymans
58cc4848f2 client: do access check after receiving properties
After we receive the properties from the client, do the access check
and then pause client messages until the session manager sets
client permissions.

Without this we would do access control right after creating the
client which would block the client messages, which would then never
register the global of the client, which would leave the client
blocked forever because the session manager doesn't see the client
and can't configure permissions.

Fixes #352
2020-10-30 11:02:08 +01:00
Wim Taymans
3f24333315 module-access: update client permissions with full access
Set the current-client to NULL while updating the permissions of
a new client.
2020-10-30 11:00:37 +01:00
Wim Taymans
f953efdefb media-session: improve enabled/disabled options
Always use a default set of options and have enable/disable
add/remove options to/from it. Previously to enable just one option
you had to list all the other default enabled options as well.
2020-10-30 09:54:18 +01:00
Wim Taymans
0cea806447 stream: avoid recursive calls to _disconnect
Fixes #354
2020-10-30 09:13:38 +01:00
Wim Taymans
0265514023 pulse: avoid blocking in epoll
When the custom poll function told us there is activity on the
epoll fd, don't do a blocking wait on the epoll fd. It might be
possible that the active fd is removed and then we would block
forever.

Fixes #349
2020-10-29 15:56:22 +01:00
Wim Taymans
b50929d200 pulse-server: fix active_port check in volume/mute 2020-10-29 12:27:32 +01:00
Wim Taymans
7cd8d566f7 pulse-server: implement kill 2020-10-29 12:09:19 +01:00
Wim Taymans
c619d7851f pulse-server: add move and default sink/source
Clean up error handling, use errno everywhere and convert when needed.
2020-10-29 11:59:16 +01:00
Wim Taymans
686128a5dd pulse-server: implement set_sink/source_port 2020-10-28 20:05:13 +01:00
Wim Taymans
22dcd87de9 pulse-server: implement set_card_profile 2020-10-28 19:39:02 +01:00
Wim Taymans
1a2349c162 pulse-server: implement set mute 2020-10-28 18:08:56 +01:00
Wim Taymans
4d42a83fb9 pulse-server: implement volume on sink/source 2020-10-28 17:57:53 +01:00
Wim Taymans
5862ce606c pulse-server: mark some unimplemented commands 2020-10-28 16:57:57 +01:00
Wim Taymans
af0d6e5354 pulse-server: refactor some more 2020-10-28 16:48:46 +01:00
Wim Taymans
d518e02b19 pulse-server: refactor card profiles parsing 2020-10-28 15:20:36 +01:00
Wim Taymans
0320eca79e pulse-server: add port_type and availability-group 2020-10-28 12:18:26 +01:00
Wim Taymans
8116da41b9 acp: use properties for port type and available group 2020-10-28 11:48:24 +01:00
Wim Taymans
893873b69e introspect: clear port info 2020-10-28 11:10:35 +01:00
Wim Taymans
458946177e pulse-server: collect device ports and volume from card params 2020-10-28 10:53:12 +01:00
Wim Taymans
15f8b7aa4a pulse-server: parse HARDWARE props 2020-10-28 10:52:35 +01:00
Wim Taymans
cd74fd54de core: debug bound_id of proxy 2020-10-28 10:51:55 +01:00
Wim Taymans
6eaf8d6921 spa: remove property, we don't implement a getter 2020-10-28 10:51:08 +01:00
Wim Taymans
27e06c66fd pulse-server: add dummy sink/source port iteration 2020-10-27 18:01:28 +01:00
Wim Taymans
5d7d4d3b63 pulse-server: copy client properties to stream 2020-10-27 17:09:30 +01:00
Wim Taymans
1ec00e37fc pulse-server: set source and sink flags 2020-10-27 17:09:06 +01:00
Wim Taymans
acfb48e3da pulse: improve debug 2020-10-27 16:46:12 +01:00
Wim Taymans
e571c0bcb1 alsa: Use "PipeWire ALSA" as the node name
So that it is easier to know it is the PipeWire one.
2020-10-27 16:11:14 +01:00
Mersad Jelacic
9de98df1b7 pipewire-alsa: Use monotonic clock
Use monotonic clock instead of gettimeofday for timestamps.
2020-10-27 14:53:17 +00:00
Wim Taymans
66cf4e68d5 pulse-server: use EnumFormat as fallback
Use a fixated format and position from EnumFormat as a fallback.
2020-10-27 15:42:48 +01:00
Wim Taymans
124b1221a6 pulse-server: add more introspection
Emit new/change/remove events
Handle suspended state of peer
Handle direct_on_input record streams.
Place the tag in error messages
2020-10-27 14:57:15 +01:00
Wim Taymans
2bf5cfa2f7 pulse-server: fill volumes and state 2020-10-27 10:12:27 +01:00
Wim Taymans
3c2b58d192 pulse-server: fill sink format 2020-10-27 09:00:11 +01:00