Wim Taymans
d0d64de1a0
pulse-server: emit metadata immeditately
...
Don't wait for sync but immediately emit the added event for metadata.
This way the server can get the name and handle the metadata events
immediately.
2020-11-24 11:55:51 +01:00
Wim Taymans
cc7f91db19
pulse-server: actually wait for sync to complete
...
Wait for sync to complete before we start emiting new objects.
Add some more debug
2020-11-24 11:28:29 +01:00
Wim Taymans
7efd140e10
pulse-server: don't wait for links to complete
2020-11-24 11:27:04 +01:00
Wim Taymans
2cd59fdf8b
pulse-server: don't send invalid format and channels
2020-11-24 10:18:17 +01:00
Wim Taymans
0c66b5677b
pulse-server: init volume/channelmap correctly in stream-restore
2020-11-24 09:54:42 +01:00
Wim Taymans
edbec5d4ba
pulse-server: fix channel map lookup
2020-11-24 09:49:35 +01:00
Wim Taymans
2d71d02f40
pulse-server: only debug packets, not data messages
...
See #405
2020-11-24 09:10:32 +01:00
Haochen Tong
648dfc0250
pulse-server: end the statement with semicolon
2020-11-23 23:27:53 +01:00
Wim Taymans
d56e759166
pulse-server: don't send NULL profile name in port info
2020-11-23 17:11:43 +01:00
Elliott Sales de Andrade
6224068586
Fix some possible leaks.
2020-11-23 15:36:08 +00:00
Wim Taymans
0b33185593
pulse-server: improve parsing of format_info
...
Use the json parser. It's not actually implemented/used in
pulseaudio but...
2020-11-23 16:12:29 +01:00
Wim Taymans
f95f278067
pulse-server: use channelmap
...
Convert to an from pulse enum to id in the message layer so that we
can always just deal with native spa types.
Use the channelmap in stream-restore
Parse the channelmap from properties.
2020-11-23 15:37:18 +01:00
Wim Taymans
2b8cc5b587
pulse-server: implement stream restore extension
...
Makes the system sounds volume settings work
See #377
2020-11-23 10:46:02 +01:00
Wim Taymans
4f0f5fccc9
pulse-server: keep metadata for the routes
...
Pass all metadata objects to the pulse-server and keep track of
some. Keep route restore info in properties.
2020-11-23 10:44:12 +01:00
Wim Taymans
77b8959df5
pulse-server: clear info in destroy to avoid segfault
...
Fixes #400
2020-11-23 09:43:40 +01:00
Wim Taymans
d5680a119f
pulse-server: Fix REQUEST missing bytes
...
Also count the amount of underrun bytes as missing so that we request
them from the client.
Provide one fragment of minreq when we underrun instead of the full
buffer size.
Fixes #395
2020-11-20 14:57:18 +01:00
Wim Taymans
12d831fc39
pulse-server: request dbus name
...
Request the org.pulseaudio.Server dbus name. This makes gnome-shell
reconnect automatically.
2020-11-20 11:52:57 +01:00
Wim Taymans
4d085816ef
pulse-server: improve debug
2020-11-19 17:45:19 +01:00
Wim Taymans
55982c75db
pulse-server: make sure we always have 1 profile
...
Synthesize an off profile and make it the active profile if
we don't have any profiles.
See #393
2020-11-19 13:27:21 +01:00
Wim Taymans
505ae98b0f
pulse-server: fix sink-input mute
2020-11-19 11:56:51 +01:00
Wim Taymans
908dc6b10f
pulse-server: don't add queued samples
...
It makes things worse
2020-11-18 20:21:14 +01:00
Wim Taymans
3eca7557f8
pulse-server: fix timestamp in latency query
...
We are supposed to place the current timeofday as the timestamp
in the reply.
2020-11-18 20:15:20 +01:00
Wim Taymans
cb203e38c3
pulse-server: make sure active_profile_name is not NULL
...
Fixes #390
2020-11-18 17:19:17 +01:00
Wim Taymans
1908c88cfc
manager: notify of changed sink/source
...
When the Route param changes on the card, find the associated
device and mark it as modified. Fixes volume changes in gnome-shell
and pavucontrol.
See #377
See #298
2020-11-18 17:07:03 +01:00
Wim Taymans
f7162799f6
message: add module-stream-restore.id property
...
This should contain the key used to restore the stream volumes and
setting and is used by pavucontrol and gnome-volume-control to
ignore event streams. Fixes slider in pavucontrol and maybe also
the weird volumes in gnome-shell.
See #377
2020-11-18 15:51:40 +01:00
Wim Taymans
4cc466ad64
pulse-server: filter out redundant subscribe messages
2020-11-18 15:00:38 +01:00
Wim Taymans
c50b5bb072
pulse-server: implement flush for record stream
2020-11-17 17:39:30 +01:00
Wim Taymans
cd25a1e5e7
pulse-server: PLAY_SAMPLE does not need a valid sink id or name
2020-11-17 17:14:28 +01:00
Wim Taymans
813af52072
pulse-server: play the sample on the right sink
2020-11-17 12:59:09 +01:00
Wim Taymans
ff1b49eb81
pulse-server: add skeleton extension for stream-restore
...
Makes the system-volume slider show up again in pavucontrol
and gnome-control-setting. Does not work yet, though.
2020-11-17 12:33:09 +01:00
Wim Taymans
11a57c9302
pulse-server: add debug level to message_dump
2020-11-17 12:33:09 +01:00
Wim Taymans
f818da96fc
pulse-server: use define for monitor flags
2020-11-17 12:33:09 +01:00
Wim Taymans
242cddd371
pulse-server: add support for proplist value conversion
2020-11-17 12:33:09 +01:00
Wim Taymans
5849bd7c60
pulse-server: try to flush immediately
...
When we queued new data and were not flushing already, try to flush
the data immediately.
2020-11-16 17:05:11 +01:00
Wim Taymans
0fada77433
pulse-server: delay flushing messages
...
Delay flush of messages to better match pulseaudio. We can later
also filter duplicates and redundant events.
2020-11-16 16:59:55 +01:00
Wim Taymans
55bd34c9e7
pulse-server: always ask for tlength samples after flush
2020-11-16 15:47:13 +01:00
Wim Taymans
dcda6c259f
pulse-server: send drain only once
2020-11-16 15:42:04 +01:00
Wim Taymans
af41e3423d
pulse-server: handle recv of 0 bytes
...
0 bytes from recv means EOS and we can disconnect the client instead
of looping forever.
2020-11-16 15:36:51 +01:00
Wim Taymans
9f9be7d7f2
pulse-server: clean up killed and errored streams
...
Make a stream in error or unconnected as done and run the cleanup
loop to destroy them. Fixes leaks caused by pavucontrol.
2020-11-16 13:31:15 +01:00
Wim Taymans
1d3e6b6772
pulse-server: map some properties
...
Fixes the icon names.
See #377
2020-11-16 11:29:07 +01:00
Wim Taymans
78ab2c3cad
pulse-server: pass right object to TAG_PROPLIST
2020-11-16 11:10:41 +01:00
Wim Taymans
0ff7321a65
pulse-server: send right id in PLAY_SAMPLE reply
...
Also handle errors.
2020-11-15 21:02:49 +01:00
Wim Taymans
80e063c6bc
pulse-server: add duration to sample
2020-11-14 13:36:26 +01:00
Wim Taymans
8f1eed6ab1
pulse-server: implement sample introspection
2020-11-14 13:31:07 +01:00
Wim Taymans
827d3ff271
pulse-server: set refcount on sample
2020-11-14 13:30:35 +01:00
Georges Basile Stavracas Neto
ee82bfe5fb
pulse-server: Correctly unref sample
...
Decrease the actual ref counter, instead of the pointer
value.
2020-11-13 21:29:22 -03:00
Wim Taymans
13a1049abf
pulse-server: also handle @DEFAULT_*@ in GET_*_INFO
2020-11-13 20:20:33 +01:00
Wim Taymans
b7b7c3817e
pulse-server: use cleanup event
...
Signal event to trigger cleanup from places where we are not allowed
to destroy objects, like from their signals.
2020-11-13 19:33:12 +01:00
Wim Taymans
b447167339
pulse-server: actually play the sample from the cache
2020-11-13 18:19:56 +01:00
Wim Taymans
1d8bef1133
pulse-server: fix check type, then check info
...
If the object is not of the right type, the info might not be of
the right type and we should not deref it.
2020-11-13 17:38:23 +01:00