Wim Taymans
4f2b1c7684
media-session: avoid recursive rescan
...
A rescan can trigger a new rescan and with a blocking rountrip this
can recursively never end. Catch a rescan while rescanning and queue
it for when we end the current scan.
Fixes #364
2020-11-03 20:25:51 +01:00
Wim Taymans
8ca71060eb
improve some debug
2020-11-03 18:04:42 +01:00
Wim Taymans
aeed0e3ea4
impl-node: fix cancel of previous state
...
Force a state change completed when canceled so that we can
perform the new state change. Fixes some hangs with fast pause/play.
2020-11-03 18:02:43 +01:00
Wim Taymans
efafb41525
pulse-server: debug messages when connection debug enabled
2020-11-03 12:22:35 +01:00
Wim Taymans
bba24b9ff8
pulse-server: return length of TAG_ARBITRARY
...
So that we don't have to know the length beforehand but can still
check it.
2020-11-03 12:14:09 +01:00
Wim Taymans
bc46ead017
client: emit check access in global context
...
Drop the current client context to check permissions. This restores the
previous behaviour and fixes the permissions set by the portal module.
This fixes screen sharing again.
Fixes #362
2020-11-03 09:35:51 +01:00
Wim Taymans
6962c27af9
media-session: disable bluez5 and pulse-bridge by default
...
Some distros don't patch this up which interferes with the pulseaudio
server.
Fixes #360
2020-11-03 09:11:20 +01:00
Wim Taymans
b63ea11834
pulse-server: create runtime directory if needed
...
Check if the pulse directory exists and create it if not.
Fixes #356
2020-11-02 20:05:18 +01:00
Wim Taymans
a7d522c743
protocol: fix sign in error checks
...
Our errors are -errno
2020-11-02 16:46:13 +01:00
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