Wim Taymans
b8b2ce6ba9
loop: always wake up blocking items
...
We should always wake up the blocking items if we scheduled the
item.
2020-11-13 16:50:23 +01:00
Wim Taymans
8b9d398df6
pulse-server: implement sample cache
2020-11-13 13:28:46 +01:00
Wim Taymans
22cec7823e
pulse-server: skip objects being created
...
Skip iterating over objects that still have pending updates.
Make sure we have all info and properties before we process
objects.
Fixes #376
2020-11-13 09:52:02 +01:00
Wim Taymans
041d1a142d
Add commented out option to start pipewire-pulse
2020-11-12 17:43:42 +01:00
Wim Taymans
ca2ea2db4b
pulse-server: add more errno to error mappings
2020-11-12 17:37:39 +01:00
Wim Taymans
798bcc10b1
pulse: add a small pulseaudio daemon
...
Add a small application that loads the pulse server and makes it
listen on the pulseaudio socket.
Add some systemd activation files to start the service.
2020-11-12 16:53:55 +01:00
Wim Taymans
10207456f0
media-session: don't start pulse-bridge automatically
...
Don't start the pulse-bridge automatically because we don't
know what socket to listen on.
Also, listen by default on a safe socket, not used by pulseaudio.
2020-11-12 16:50:24 +01:00
Wim Taymans
024b9dc0ca
pulse-server: remove unused code
...
We already checked the systemd sockets above and never call is_stale
for them.
2020-11-12 15:58:42 +01:00
Wim Taymans
044876b51c
pulse-server: improve error message
2020-11-12 15:44:05 +01:00
Wim Taymans
4eb3cc37ea
pulse-server: add socket activation
2020-11-12 15:35:35 +01:00
Wim Taymans
346e35eed5
deprecate the libpulse replacement
...
Don't build by default, update the README
With pulse-server we are more flexible and compatible and we don't
have to (badly) reimplement libpulse anymore.
2020-11-12 15:18:04 +01:00
Wim Taymans
5bfc3b90ef
pulse-server: improve error log
2020-11-12 15:13:33 +01:00
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