Commit graph

15 commits

Author SHA1 Message Date
Wim Taymans
3c2ab98a2a Add support for virtual source
A virtual source is usually implemented with a null-sink, it looks
like a source to pulseaudio clients but just forwards what it gets
as input.

Make sure the port names make sense.

You can use the null sink now as:

pactl load-module module-null-sink sink_name=source object.linger=1
     media.class=Audio/Source/Virtual channel_map=FL,FR,RL,RR

     This creates a node with "input" and "capture" ports and looks
     like a virtual source for pulseaudio clients.

pactl load-module module-null-sink sink_name=source object.linger=1
     media.class=Audio/Sink channel_map=FL,FR,RL,RR

     This creates a node with "playback" and "monitor" ports and looks
     like a virtual sink for pulseaudio clients.

pactl load-module module-null-sink sink_name=source object.linger=1
     media.class=Audio/Duplex channel_map=FL,FR,RL,RR

     This creates a node with "playback" and "capture" ports and looks
     like a virtual source and sink for pulseaudio clients.
2020-12-02 15:42:56 +01:00
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
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
7efd140e10 pulse-server: don't wait for links to complete 2020-11-24 11:27:04 +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
cb203e38c3 pulse-server: make sure active_profile_name is not NULL
Fixes #390
2020-11-18 17:19:17 +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
94dbd4f9b8 warn about and fix some -Wpointer-sign warnings 2020-11-02 09:03:53 +01:00
Wim Taymans
4bb859fb82 pulse-server: use name if description not set 2020-10-31 21:20:39 +01:00
Wim Taymans
686128a5dd pulse-server: implement set_sink/source_port 2020-10-28 20:05:13 +01:00
Wim Taymans
22dcd87de9 pulse-server: implement set_card_profile 2020-10-28 19:39:02 +01:00
Wim Taymans
4d42a83fb9 pulse-server: implement volume on sink/source 2020-10-28 17:57:53 +01:00
Wim Taymans
af0d6e5354 pulse-server: refactor some more 2020-10-28 16:48:46 +01:00