Commit graph

239 commits

Author SHA1 Message Date
Wim Taymans
ecf10e0b1c pulse-server: remove useless allocation 2020-11-09 15:51:58 +01:00
Wim Taymans
a0b2e5b498 pulse-server: improve stream cleanup
Make sure we finish processing of the pending messages before
destroying the stream.
2020-11-09 15:35:50 +01:00
Greg V
fba8cd9f56 protocol-pulse: ifdef Linux-specific errnos and socket opts 2020-11-09 11:14:20 +00:00
Wim Taymans
bd57c1a457 pulse-server: improve under and overrun handling 2020-11-09 12:06:44 +01:00
Wim Taymans
8abb648ec3 pulse-server: Improve timing reporting
Use the same logic as pulseaudio to improve the timing reporting
and improve compatibility with vlc.
2020-11-09 11:13:06 +01:00
Wim Taymans
1507f40eb0 pulse-server: keep on reading commands until we hit EAGAIN
Only log a warning for anything else than EAGAIN
2020-11-06 16:37:19 +01:00
Wim Taymans
24280928a9 pulse-server: improve debug 2020-11-06 16:30:05 +01:00
Wim Taymans
65289a2185 pulse-sever: increase socket priority 2020-11-06 16:13:05 +01:00
Wim Taymans
96599f74e7 pulse-server: use invalid id for unused connect_tag
Because 0 happens to be the first tag and can cause confusion.
2020-11-06 16:09:41 +01:00
Georges Basile Stavracas Neto
a362889712 pulse-server: Implement module load and unload
Implement a minimal version of the LOAD_MODULE and UNLOAD_MODULE
stream commands. The only supported module for now is the null
sink.

Modules are stored on a per-client bases, so that when clients
are disconnected, the modules they loaded is removed too.

This is enough to allow GNOME Network Displays to register a sink.
2020-11-05 11:57:12 -03:00
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
b659fa580a pulse-server: improve error reporting 2020-11-04 10:24:39 +01:00
Wim Taymans
12cefd2461 pulse-server: handle no_remix flag 2020-11-03 21:01:24 +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
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
dd45a27d86 pulse-server: improve error message
See #356
2020-11-02 09:08:42 +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
98b1b8090d pulse-server: don't underrun when draining 2020-10-31 15:22:32 +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
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
5ddd6f0db9 pulse-server: fill more card info 2020-10-26 20:53:54 +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
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