Wim Taymans
34cc13a60c
pulse-server: set the right error when socket is busy
2020-11-12 14:54:58 +01:00
Wim Taymans
5ebb95a346
pulse-server: improve debug, add client name
2020-11-12 13:33:25 +01:00
Wim Taymans
593c183166
pulse-server: improve stale socket detection
...
Only declare stale when ECONNREFUSED and not socket activated.
2020-11-12 13:02:18 +01:00
Wim Taymans
6e2ab9973b
pulse-server: alsa safely make native socket
...
Only make the native socket when it's not there or when it appears
dead when we can't seem to connect to it.
- When the socket is not found, we take it.
- When an existing pulseaudio is running we won't unlink and take
over the socket because we can connect to it
- When a crashed pulseaudio leaves a stale socket, we fail to
connect and then we unlink and take over.
2020-11-12 12:17:12 +01:00
Wim Taymans
1d001974d7
media-session: enable pulse-bridge by default
...
Now that we don't interfere with pulseaudio, enable it by default.
2020-11-12 11:11:53 +01:00
Wim Taymans
c368768b93
pulse-server: append remote name to native socket
...
This way we don't interfere with the pulseaudio daemon in any way
and we can implement fallback to pulse-server in the pulseaudio
client library config file.
2020-11-12 11:01:57 +01:00
Wim Taymans
6c7a84a0ff
pulse-server: rate limit the underrun warnings
2020-11-12 10:17:19 +01:00
Wim Taymans
218689ff9a
manager: also make a Core global
...
So that we can checke the permissions for the metadata
2020-11-11 17:19:04 +01:00
Wim Taymans
bd259a7eb6
utils: don't include config.h
...
don't include config.h in public header. Just check if strndupa
is defined and if not, define it.
2020-11-11 12:24:24 +01:00
Wim Taymans
239615f5ae
pulse-server: improve some debug
2020-11-09 16:53:18 +01:00
Wim Taymans
cd3610367b
pulse-server: free object info
...
Don't remove the listeners before destroying the proxy because
we clean up the info in the destroy event.
2020-11-09 16:52:25 +01:00
Wim Taymans
99fcc95d18
pulse-server: don't leak formats
2020-11-09 16:51:34 +01:00
Wim Taymans
a6c35d1df4
module-portal: don't leak dbus error
2020-11-09 16:50:47 +01:00
Wim Taymans
d4fc918737
module-adapter: don't remove the listener in destroy
...
Or else we won't receive the free event anymore and we leak the
adapter.
2020-11-09 16:49:49 +01:00
Wim Taymans
31216c09c4
bluez5: fix memleak
2020-11-09 16:48:44 +01:00
Wim Taymans
ecf10e0b1c
pulse-server: remove useless allocation
2020-11-09 15:51:58 +01:00
Wim Taymans
29d6179328
spa-device: cleanup in the free signal
...
Cleanup and close the plugin in the free signal so that the object
has a chance to remove the event handlers from the object.
2020-11-09 15:36:36 +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
Wim Taymans
f8186665d9
spa-node: remove unused factory_name
2020-11-09 15:35:12 +01:00
Wim Taymans
42dd52c7fe
acp: clean up card object
...
Fixes #369
2020-11-09 15:01:07 +01:00
Wim Taymans
779579b349
utils: check for strndupa defined
...
The meson check does not completely work in detecting strndupa so do
an extra check before we define it.
2020-11-09 12:20:40 +01:00
Greg V
2ae840bc12
access: only check for Flatpak on Linux
2020-11-09 11:14:20 +00:00
Greg V
c1cda26ce8
protocol-native: get pid/gid/uid on FreeBSD using LOCAL_PEERCRED
2020-11-09 11:14:20 +00:00
Greg V
6ffb997c5a
Use memfd on FreeBSD 13, shm_open(SHM_ANON) on older versions
...
/dev/shm usually does not exist on FreeBSD, so the mkostemp call was failing.
FreeBSD 13 offers memfd support complete with seals, use it.
2020-11-09 11:14:20 +00:00
Greg V
90ade199e6
Provide a strndupa implementation when it is absent
...
strndupa is a glibc exclusive, not even musl implements it
2020-11-09 11:14:20 +00:00
Greg V
cc0386e1c5
media-session: ifdef Linux-specific file option
2020-11-09 11:14:20 +00: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
18c57efb39
pulse-server: take type from info
2020-11-09 09:42:53 +01:00
Wim Taymans
b6efcd90a7
pulse-server: improve message debug, add offset
2020-11-09 09:42:15 +01:00
Sergey Bugaev
d7d4f094a8
pipewire: load journald logging when available
...
See https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/358
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
2020-11-06 15:51:24 +00:00
Sergey Bugaev
c101ff2057
support: add a journald logger implementation
...
Closes https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/358
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
2020-11-06 15:51:24 +00:00
Sergey Bugaev
28af82e6d9
meson: rename HAVE_SYSTEMD_DAEMON to HAVE_SYSTEMD
...
This variable describes whether we have systemd and libsystemd,
not just <systemd/sd-daemon.h>
While at it, sneak in a fix for the warning message:
"systemd should never ever be capitalized".
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
2020-11-06 15:51:24 +00: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
Wim Taymans
a2549fc638
clean the hook lists
...
Make sure the hook lists are emptied so that the removed callbacks
are called. The callers should really remove the hook they installed
themselves but this is a last chance to fix things up.
2020-11-06 15:55:33 +01:00
Wim Taymans
1570e62635
remove hooks from objects
...
Remove the hooks we installed on objects in the destroy/free event
or before calling _destroy. This is not really needed but it is
a nice thing to do because it calls the hook removed callbacks.
2020-11-06 15:53:32 +01:00
Wim Taymans
6317bc4deb
module-spa: remove the listeners correctly
...
In the module destroy, remove the module listener and in the
factory_destroy, the factory_listener.
2020-11-06 15:37:58 +01:00
Wim Taymans
42319e32be
pulse-server: handle NULL registry
2020-11-06 15:35:44 +01:00
Wim Taymans
06bfbe55d3
proxy: also clean the object_listeners
...
Fixes #366
2020-11-06 15:34:13 +01:00
Wim Taymans
80967e88ad
utils: add function to clean hook list
2020-11-06 15:32:49 +01:00
Wim Taymans
cd71b05fd0
tests: zero test data
...
hooks need to be zeroed or else they causes crashes on _remove when the
remove callback is called.
Fixes #368
2020-11-06 09:30:21 +01:00
Wim Taymans
3fe31862ef
proxy: remove hooks in _destroy
...
Callers of _destroy should be able to reply on the fact that no
more events will be emited on the proxy whitout being required to
remove the hooks themselves.
Because of the refcount in the proxy, it can stay alive after the
_destroy and being used to emit events, like emit an error in
protocol-native.
Fixes #366
2020-11-05 20:22:57 +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
5a98a9b1cd
alsa: reload alsa configuration
...
Fixes #332
2020-11-05 10:00:25 +01:00