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
Wim Taymans
17e3087397
bluez5: fix some whitespace and indent
2020-11-05 09:46:11 +01:00
Wim Taymans
38bcab4610
jack: handle connect errors
...
Listen on the proxy for errors and report this to the caller. This
avoids hanging in jack_connect.
2020-11-04 21:05:45 +01:00
Wim Taymans
6444147a12
pulse: protect context
...
Make sure the context is READY when calling function
Protect pa_operation_sync against disconnected context
Fixes #365
2020-11-04 19:27:17 +01:00
Wim Taymans
7a43769648
pulse: guard against NULL core
...
See #365
2020-11-04 17:41:40 +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
16872549e3
0.3.15
2020-11-04 10:43:40 +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
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