For the stream group, we break into the three components we write out
and print those.
For the IPv6 address printing inside [], we can make this a condition on
the printf statement.
SPA_MEMBER is misleading, all we're doing here is pointer+offset and a
type-casting the result. Rename to SPA_PTROFF which is more expressive (and
has the same number of characters so we don't need to re-indent).
This starts breaking up the giant monolith that is the pulse-server.c
code into more manageable chunks by trying to split the module code into
individual compilation units.
Limit the amount of channels we send to a client to 32 because this
is the pulseaudio limit.
This means that only the first 32 channels are accessible from the
pulseaudio API.
Fixes#1033
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.
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