Wim Taymans
44e6e7f5c8
pulse-server: use PipeWire format and channel names
...
Use the PipeWire format and channel names in the config to avoid
confusion.
2021-04-09 11:30:57 +02:00
Wim Taymans
b305f57e4d
pulse-server: make sample format and channel_map configurable
...
Add an entry in the config file for default format and channel map.
Use the defaults in the server_info request
Use the defaults for the default channels and map in the modules.
2021-04-09 11:12:13 +02:00
Pauli Virtanen
2681b8236b
media-session/pulse-server: more error checks + minor fixes
2021-03-27 19:16:19 +02:00
Wim Taymans
2d2557381c
pulse-server: avoid returning NULL strings
...
Don't return a NULL string when converting an id to a string because
some callers don't expect this and crash.
2021-03-25 15:35:12 +01:00
Wim Taymans
e334c5862e
pulse-server: fill in the format info
2021-03-10 17:27:11 +01:00
Wim Taymans
fcf00b3d35
pulse-server: handle unsupported formats
...
We can only handle PCM encodings for now, fail conversion otherwise.
If we have no supported formats, return an error code.
VLC first try to send AC3 or EAC3 passthrough and then tries again
with decoded data. If we accept the encoded data we are just playing
noise.
Fixes #428
2021-02-19 15:25:32 +01:00
Wim Taymans
4b591df145
pulse-server: print encoding name in format_info
2021-02-19 14:57:11 +01:00
Wim Taymans
5a94bfc6cd
pulse-server: add some more supported channel_map values
2020-12-07 21:52:09 +01:00
Wim Taymans
157d6de607
pulse-server: convert channel_map channels
...
channel_map contains pulseaudio channel names, convert them to
pipewire channel ids and then into pipewire channel names for the
null sink.
2020-12-07 20:29:22 +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
6ab25c6904
pulse-server: fix parsing of format-info
...
Fixes totem playback
2020-11-24 15:11:05 +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
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
8b9d398df6
pulse-server: implement sample cache
2020-11-13 13:28:46 +01:00
Wim Taymans
99fcc95d18
pulse-server: don't leak formats
2020-11-09 16:51:34 +01:00
Wim Taymans
efafb41525
pulse-server: debug messages when connection debug enabled
2020-11-03 12:22:35 +01:00
Wim Taymans
af0d6e5354
pulse-server: refactor some more
2020-10-28 16:48:46 +01:00
Wim Taymans
66cf4e68d5
pulse-server: use EnumFormat as fallback
...
Use a fixated format and position from EnumFormat as a fallback.
2020-10-27 15:42:48 +01:00
Wim Taymans
2bf5cfa2f7
pulse-server: fill volumes and state
2020-10-27 10:12:27 +01:00
Wim Taymans
1ceb902b76
pulse-server: convert between client cubic volume and linear
2020-10-23 09:36:01 +02:00
Wim Taymans
d3ee29caff
pulse-server: fix format names
2020-10-20 16:39:31 +02:00
Wim Taymans
5b32125d44
pulse-server: handle format_info
...
Parse the format_info in CREATE_STREAM and use this to negotiate
the stream. Implement channel_map parsing.
Delay setting up the buffer attributes until we have negotiated a
format.
Makes GStreamer pulsesink work (rhythmbox,... )
2020-10-20 16:25:47 +02:00
Wim Taymans
0d9ae9d226
pulse-server: avoid SIGFPE when no format is given
...
Error out for now until we parse the format array.
2020-10-20 09:43:43 +02:00
Wim Taymans
f0102fd490
pulse: move pulse protocol to module
2020-10-08 18:06:11 +02:00