From 2905635de3c9c5e010a299bc6a0d0eeba523582d Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 22 Dec 2021 21:15:46 +0100 Subject: [PATCH] pulse-server: increase channel name length , and AUX11 and the \0 need at least 8 chars, 6 chars will truncate after AUX1 and leave an invalid channel map. --- .../module-protocol-pulse/modules/module-ladspa-sink.c | 4 ++-- .../module-protocol-pulse/modules/module-ladspa-source.c | 4 ++-- src/modules/module-protocol-pulse/modules/module-null-sink.c | 4 ++-- src/modules/module-protocol-pulse/modules/module-remap-sink.c | 4 ++-- .../module-protocol-pulse/modules/module-remap-source.c | 4 ++-- .../module-protocol-pulse/modules/module-tunnel-sink.c | 4 ++-- .../module-protocol-pulse/modules/module-tunnel-source.c | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/modules/module-protocol-pulse/modules/module-ladspa-sink.c b/src/modules/module-protocol-pulse/modules/module-ladspa-sink.c index 768e01466..6dafffc57 100644 --- a/src/modules/module-protocol-pulse/modules/module-ladspa-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-ladspa-sink.c @@ -160,9 +160,9 @@ static void position_to_props(struct spa_audio_info_raw *info, struct pw_propert uint32_t i; pw_properties_setf(props, SPA_KEY_AUDIO_CHANNELS, "%u", info->channels); - p = s = alloca(info->channels * 6); + p = s = alloca(info->channels * 8); for (i = 0; i < info->channels; i++) - p += snprintf(p, 6, "%s%s", i == 0 ? "" : ",", + p += snprintf(p, 8, "%s%s", i == 0 ? "" : ",", channel_id2name(info->position[i])); pw_properties_set(props, SPA_KEY_AUDIO_POSITION, s); } diff --git a/src/modules/module-protocol-pulse/modules/module-ladspa-source.c b/src/modules/module-protocol-pulse/modules/module-ladspa-source.c index 14611ab91..73060bb64 100644 --- a/src/modules/module-protocol-pulse/modules/module-ladspa-source.c +++ b/src/modules/module-protocol-pulse/modules/module-ladspa-source.c @@ -160,9 +160,9 @@ static void position_to_props(struct spa_audio_info_raw *info, struct pw_propert uint32_t i; pw_properties_setf(props, SPA_KEY_AUDIO_CHANNELS, "%u", info->channels); - p = s = alloca(info->channels * 6); + p = s = alloca(info->channels * 8); for (i = 0; i < info->channels; i++) - p += snprintf(p, 6, "%s%s", i == 0 ? "" : ",", + p += snprintf(p, 8, "%s%s", i == 0 ? "" : ",", channel_id2name(info->position[i])); pw_properties_set(props, SPA_KEY_AUDIO_POSITION, s); } diff --git a/src/modules/module-protocol-pulse/modules/module-null-sink.c b/src/modules/module-protocol-pulse/modules/module-null-sink.c index 2ee4c1fe8..51c8ae5fe 100644 --- a/src/modules/module-protocol-pulse/modules/module-null-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-null-sink.c @@ -177,9 +177,9 @@ struct module *create_module_null_sink(struct impl *impl, const char *argument) pw_properties_setf(props, SPA_KEY_AUDIO_CHANNELS, "%u", info.channels); - p = s = alloca(info.channels * 6); + p = s = alloca(info.channels * 8); for (i = 0; i < info.channels; i++) - p += snprintf(p, 6, "%s%s", i == 0 ? "" : ",", + p += snprintf(p, 8, "%s%s", i == 0 ? "" : ",", channel_id2name(info.position[i])); pw_properties_set(props, SPA_KEY_AUDIO_POSITION, s); } diff --git a/src/modules/module-protocol-pulse/modules/module-remap-sink.c b/src/modules/module-protocol-pulse/modules/module-remap-sink.c index 2b33756ef..74d72adb4 100644 --- a/src/modules/module-protocol-pulse/modules/module-remap-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-remap-sink.c @@ -139,9 +139,9 @@ static void position_to_props(struct spa_audio_info_raw *info, struct pw_propert uint32_t i; pw_properties_setf(props, SPA_KEY_AUDIO_CHANNELS, "%u", info->channels); - p = s = alloca(info->channels * 6); + p = s = alloca(info->channels * 8); for (i = 0; i < info->channels; i++) - p += snprintf(p, 6, "%s%s", i == 0 ? "" : ",", + p += snprintf(p, 8, "%s%s", i == 0 ? "" : ",", channel_id2name(info->position[i])); pw_properties_set(props, SPA_KEY_AUDIO_POSITION, s); } diff --git a/src/modules/module-protocol-pulse/modules/module-remap-source.c b/src/modules/module-protocol-pulse/modules/module-remap-source.c index 821a0e708..4281c6331 100644 --- a/src/modules/module-protocol-pulse/modules/module-remap-source.c +++ b/src/modules/module-protocol-pulse/modules/module-remap-source.c @@ -139,9 +139,9 @@ static void position_to_props(struct spa_audio_info_raw *info, struct pw_propert uint32_t i; pw_properties_setf(props, SPA_KEY_AUDIO_CHANNELS, "%u", info->channels); - p = s = alloca(info->channels * 6); + p = s = alloca(info->channels * 8); for (i = 0; i < info->channels; i++) - p += snprintf(p, 6, "%s%s", i == 0 ? "" : ",", + p += snprintf(p, 8, "%s%s", i == 0 ? "" : ",", channel_id2name(info->position[i])); pw_properties_set(props, SPA_KEY_AUDIO_POSITION, s); } diff --git a/src/modules/module-protocol-pulse/modules/module-tunnel-sink.c b/src/modules/module-protocol-pulse/modules/module-tunnel-sink.c index 050255c39..8f5dd9f91 100644 --- a/src/modules/module-protocol-pulse/modules/module-tunnel-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-tunnel-sink.c @@ -144,9 +144,9 @@ static void audio_info_to_props(struct spa_audio_info_raw *info, struct pw_prope uint32_t i; pw_properties_setf(props, SPA_KEY_AUDIO_CHANNELS, "%u", info->channels); - p = s = alloca(info->channels * 6); + p = s = alloca(info->channels * 8); for (i = 0; i < info->channels; i++) - p += snprintf(p, 6, "%s%s", i == 0 ? "" : ",", + p += snprintf(p, 8, "%s%s", i == 0 ? "" : ",", channel_id2name(info->position[i])); pw_properties_set(props, SPA_KEY_AUDIO_POSITION, s); } diff --git a/src/modules/module-protocol-pulse/modules/module-tunnel-source.c b/src/modules/module-protocol-pulse/modules/module-tunnel-source.c index f4944593b..26226d01f 100644 --- a/src/modules/module-protocol-pulse/modules/module-tunnel-source.c +++ b/src/modules/module-protocol-pulse/modules/module-tunnel-source.c @@ -144,9 +144,9 @@ static void audio_info_to_props(struct spa_audio_info_raw *info, struct pw_prope uint32_t i; pw_properties_setf(props, SPA_KEY_AUDIO_CHANNELS, "%u", info->channels); - p = s = alloca(info->channels * 6); + p = s = alloca(info->channels * 8); for (i = 0; i < info->channels; i++) - p += snprintf(p, 6, "%s%s", i == 0 ? "" : ",", + p += snprintf(p, 8, "%s%s", i == 0 ? "" : ",", channel_id2name(info->position[i])); pw_properties_set(props, SPA_KEY_AUDIO_POSITION, s); }