fix capture rate assignment using logical NOT instead of copy

Three modules had "impl->capture_info.rate = !impl->playback_info.rate"
which evaluates to 0 (logical NOT of a non-zero rate) instead of
copying the playback rate. This is a copy-paste typo from the line
above which correctly uses "= impl->capture_info.rate".

Affects module-filter-chain, module-loopback, module-example-filter.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Wim Taymans 2026-04-30 18:38:26 +02:00
parent 4b64b81d21
commit 47ca937905
2 changed files with 2 additions and 2 deletions

View file

@ -590,7 +590,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
} else if (impl->capture_info.rate && !impl->playback_info.rate)
impl->playback_info.rate = impl->capture_info.rate;
else if (impl->playback_info.rate && !impl->capture_info.rate)
impl->capture_info.rate = !impl->playback_info.rate;
impl->capture_info.rate = impl->playback_info.rate;
else if (impl->capture_info.rate != impl->playback_info.rate) {
pw_log_warn("Both capture and playback rate are set, but"
" they are different. Using the highest of two. This behaviour"

View file

@ -981,7 +981,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
} else if (impl->capture_info.rate && !impl->playback_info.rate)
impl->playback_info.rate = impl->capture_info.rate;
else if (impl->playback_info.rate && !impl->capture_info.rate)
impl->capture_info.rate = !impl->playback_info.rate;
impl->capture_info.rate = impl->playback_info.rate;
else if (impl->capture_info.rate != impl->playback_info.rate) {
pw_log_warn("Both capture and playback rate are set, but"
" they are different. Using the highest of two. This behaviour"