mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
filter-chain: use equal rate for capture and playback
If only one of rates is provided, propagate it. If both are provided and are inequal, warn. This configuration appears to be broken for obvious reasons
This commit is contained in:
parent
65f3a9c481
commit
e0cc072100
1 changed files with 12 additions and 0 deletions
|
|
@ -2337,6 +2337,18 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
|||
parse_audio_info(impl->capture_props, &impl->capture_info);
|
||||
parse_audio_info(impl->playback_props, &impl->playback_info);
|
||||
|
||||
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;
|
||||
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"
|
||||
" is deprecated, please use equal rates in the module config");
|
||||
impl->playback_info.rate = impl->capture_info.rate =
|
||||
SPA_MAX(impl->playback_info.rate, impl->capture_info.rate);
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, PW_KEY_NODE_NAME)) == NULL) {
|
||||
pw_properties_setf(props, PW_KEY_NODE_NAME,
|
||||
"filter-chain-%u-%u", pid, id);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue