Wim Taymans
2a5087a51e
pulse-server: set client id
2020-11-05 10:46:19 +01:00
Wim Taymans
b472abe65b
pulse-server: improve GET_SERVER_INFO
...
We don't need to bind to the core object again, we can just use the
events on the manager core.
We don't actually have info when the Core is added so don't try to
use it to get defaults for the client.
Use the manager core info in server info.
2020-11-05 10:36:13 +01:00
Wim Taymans
b8c7b36d3b
protocol-native: do version check on HELLO
...
Always do the version check on HELLO because the connection could
have been moved from a v3 portal to a v0 client (like chrome)
Fixes #270
2020-11-04 16:13:53 +01:00
Wim Taymans
b659fa580a
pulse-server: improve error reporting
2020-11-04 10:24:39 +01:00
Wim Taymans
9d598cde63
policy-node: always up or downmix to device format
...
Always remix the channels to match the ones on the device even if
that means upmixing.
This will make mono streams go to all inputs of the device instead
of just one.
Fixes #355
2020-11-04 09:47:20 +01:00
Wim Taymans
4ea95abd90
rtkit: improve error message
2020-11-04 09:42:33 +01:00
Wim Taymans
12cefd2461
pulse-server: handle no_remix flag
2020-11-03 21:01:24 +01:00
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
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
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
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
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
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
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
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
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