Wim Taymans
d6127a4745
handle Duplex media class
...
Audio/Duplex is both a source and a sink. Name the ports as input/output
and make sure we list them in the source and sink lists in pulse-server.
2020-12-02 11:44:19 +01:00
Wim Taymans
b0a717c95e
pulse-server: use right prefix for object check
2020-12-02 10:59:25 +01:00
Wim Taymans
4fb9e7eecc
pulse-server: convert some more null-sink properties
2020-12-02 10:31:16 +01:00
Wim Taymans
8b048279f1
pulse-server: handle error during create
...
Use the create-tag in the error when the stream fails. This way the
client can know when something failed during create.
See #430
2020-12-01 09:37:40 +01:00
Wim Taymans
b8300c663b
improve some errors
...
Silence some -ENOENT warnings, they can happen when the object we
are introspecting is destroyed
2020-11-29 16:22:50 +01:00
Wim Taymans
6e0fed37b4
pulse-server: also handle planar formats
...
Also handle streams with planar formats. Just pretend that they
are interleaved, it does not really matter.
2020-11-27 15:39:59 +01:00
Wim Taymans
350fa39aba
pulse-server: try to convert name to id when selecting
...
Obsoletes !327
2020-11-27 15:04:06 +01:00
Wim Taymans
ea84177a2e
pulse-server: make sure we have active_name/profile set
2020-11-26 12:05:32 +01:00
Wim Taymans
3b20e0f9e7
pulse-server: fix lookup of module
2020-11-26 09:49:16 +01:00
Wim Taymans
6235c8c0f2
pulse-server: don't set object.linger by default
2020-11-26 09:35:29 +01:00
Wim Taymans
1934df7307
pulse-server: implement OBJECT_LINGER
...
Use OBJECT_LINGER in module-load to make sure the module stays loaded
after the client disconnects.
Implement linger in adapter and node-factory
2020-11-26 09:28:22 +01:00
Wim Taymans
0fe77d39ce
pulse-server: fallback to name if no description is set
2020-11-26 09:27:19 +01:00
Wim Taymans
765ce0564f
pulse-server: don't crash with NULL arguments in module-load
2020-11-26 09:26:29 +01:00
Wim Taymans
64be5bb617
pulse-server: fix debug line
2020-11-25 21:05:49 +01:00
Wim Taymans
38fcc64e1f
pulse-server: check if route param changed
...
Only mark the sink/source changed when the card route param
changed. Avoids triggering sink/source updates when nothing
changed.
See #298
2020-11-24 20:02:46 +01:00
Wim Taymans
3d6e87832d
pulse-server: after new event, clear changes
...
Remove any pending changes after we emited the new event.
2020-11-24 19:29:49 +01:00
Wim Taymans
a65d4d04c3
pulse-server: collect updates and apply after sync
...
Collect all object updates in a separate list. When we collected
all updates in sync, apply them and then signal notifications.
This ensure we have a consistent object model.
2020-11-24 15:31:20 +01:00
Wim Taymans
6ab25c6904
pulse-server: fix parsing of format-info
...
Fixes totem playback
2020-11-24 15:11:05 +01:00
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