pulse-server: fix IEC958 passthrough again

We need to create fake channels when parsing the IEC958 format or
else we get an invalid format and IEC958 passthrough doesn't work.

Ignore the IEC958 formats when collecting formats for the device or else
the fake channels mess with the real channels of the device.

See #1442
This commit is contained in:
Wim Taymans 2022-02-21 16:53:03 +01:00
parent 22ec01d5c0
commit edb5664017
4 changed files with 12 additions and 5 deletions

View file

@ -1062,7 +1062,7 @@ static void stream_param_changed(void *data, uint32_t id, const struct spa_pod *
if (id != SPA_PARAM_Format || param == NULL)
return;
if ((res = format_parse_param(param, &stream->ss, &stream->map, NULL, NULL)) < 0) {
if ((res = format_parse_param(param, false, &stream->ss, &stream->map, NULL, NULL)) < 0) {
pw_stream_set_error(stream->stream, res, "format not supported");
return;
}