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
Wim Taymans
3c2b58d192
pulse-server: fill sink format
2020-10-27 09:00:11 +01:00
Wim Taymans
496f3842be
pulse-server: small cleanup
2020-10-27 08:59:53 +01:00
Wim Taymans
51328af0e1
pulse-server: collect node params
2020-10-27 08:59:28 +01:00
Wim Taymans
5ddd6f0db9
pulse-server: fill more card info
2020-10-26 20:53:54 +01:00
Wim Taymans
4f63f37f00
pulse-server: collect device params
2020-10-26 20:53:34 +01:00
Wim Taymans
fa7c1ad169
pulse-server: set peer_name and id for monitors
2020-10-26 18:29:15 +01:00
Wim Taymans
8759ceb551
pulse-server: handle monitor sources
2020-10-26 18:10:05 +01:00
Wim Taymans
c49771150c
pulse-server: fill in source-output/sink-input peers
2020-10-26 16:59:46 +01:00
Wim Taymans
11ee5ca54c
pulse-server: fill in monitor names
2020-10-26 16:59:30 +01:00
Wim Taymans
fd16eb450a
pulse-server: fill linked sink/source in create_stream reply
2020-10-26 16:39:49 +01:00
Wim Taymans
1df7db5301
link: also add node id to link props
2020-10-26 16:39:28 +01:00
Wim Taymans
a372e4e90e
pulse-server: add more introspection
...
Add default nodes support and subscription events when it changes.
Fix stream id.
Fix node lookup.
Fix node volume.
2020-10-26 13:28:45 +01:00
Wim Taymans
fdf3485902
pulse-server: add sink/source sink_input/source_output introspect
2020-10-25 19:51:42 +01:00
Wim Taymans
02d04c63ea
pulse-server: introspect cards
2020-10-25 16:24:11 +01:00
Wim Taymans
0ac839fce4
pulse-server: improve error reporting
2020-10-25 15:51:46 +01:00
Wim Taymans
1cbad89862
pulse-server: add introspection of clients and modules
...
Add manager object to collect object info
Wait for object info until completing client connect
Implement clients and modules list and info.
2020-10-25 15:28:42 +01:00
Wim Taymans
952326323e
policy-node: also allow node name as NODE_TARGET
2020-10-24 15:50:09 +02:00
Wim Taymans
a5656777e0
stream: Use the control parent type as container
...
Some controls (channelVolumes) list themselves as Float but are stored
in an array, as can be found from the type info. Use this info to
set channelVolumes with 1 channel.
fixes some assertions like pa_pod_is_array(pod)' failed at
../pipewire/spa/include/spa/pod/iter.h:334 spa_pod_get_array()
2020-10-23 15:29:51 +02:00
Wim Taymans
c62b27ec75
pulse-server: handle under/overrun
...
Make sure we don't report underrun for the first time we pull data.
Send STARTED message when we leave the underrun state
Send UNDERFLOW when we enter the underrun state
Count underrun when corked.
Pass process stats back to the mainloop after process.
Decrease the pending length when we get underrun so that we can request
more data.
2020-10-23 12:59:53 +02:00
Wim Taymans
1ceb902b76
pulse-server: convert between client cubic volume and linear
2020-10-23 09:36:01 +02:00
Jan Grulich
743cf58fb7
Define SPA_FALLTHROUGH to make fall-through annotations work for all compilers
...
This is needed for example for Clang compiler which uses different
annotations than GCC. It will make WebRTC to happily use PipeWire
since the spa library is header-only and WebRTC defaults to use
Clang with -Wimplicit-fallthrough.
2020-10-22 13:31:19 +02:00
Wim Taymans
5e325f636c
impl: use _ALL change_mask for everything
...
Instead of ~0
2020-10-22 10:59:04 +02:00