diff --git a/src/modules/meson.build b/src/modules/meson.build index 3b79b2268..1b434b7f6 100644 --- a/src/modules/meson.build +++ b/src/modules/meson.build @@ -624,7 +624,7 @@ if build_module_raop endif summary({'raop-sink (requires OpenSSL)': build_module_raop}, bool_yn: true, section: 'Optional Modules') -roc_dep = dependency('roc', required: get_option('roc')) +roc_dep = dependency('roc', version: '>= 0.3.0', required: get_option('roc')) summary({'ROC': roc_dep.found()}, bool_yn: true, section: 'Streaming between daemons') pipewire_module_rtp_source = shared_library('pipewire-module-rtp-source', diff --git a/src/modules/module-protocol-pulse/modules/module-roc-sink-input.c b/src/modules/module-protocol-pulse/modules/module-roc-sink-input.c index 7e6288042..4cfc3e3a9 100644 --- a/src/modules/module-protocol-pulse/modules/module-roc-sink-input.c +++ b/src/modules/module-protocol-pulse/modules/module-roc-sink-input.c @@ -27,7 +27,7 @@ static const char *const pulse_module_options = "sink= " "sink_input_properties= " - "resampler_profile=|disable|high|medium|low " + "resampler_profile=|high|medium|low " "fec_code=|disable|rs8m|ldpc " "sess_latency_msec= " "local_ip= " diff --git a/src/modules/module-protocol-pulse/modules/module-roc-source.c b/src/modules/module-protocol-pulse/modules/module-roc-source.c index 904825350..880a95456 100644 --- a/src/modules/module-protocol-pulse/modules/module-roc-source.c +++ b/src/modules/module-protocol-pulse/modules/module-roc-source.c @@ -27,7 +27,7 @@ static const char *const pulse_module_options = "source_name= " "source_properties= " - "resampler_profile=|disable|high|medium|low " + "resampler_profile=|high|medium|low " "fec_code=|disable|rs8m|ldpc " "sess_latency_msec= " "local_ip= " diff --git a/src/modules/module-roc-sink.c b/src/modules/module-roc-sink.c index 63992db43..5d58ce9d3 100644 --- a/src/modules/module-roc-sink.c +++ b/src/modules/module-roc-sink.c @@ -259,11 +259,11 @@ static int roc_sink_setup(struct module_roc_sink_data *data) return -EINVAL; } - memset(&sender_config, 0, sizeof(sender_config)); + spa_zero(sender_config); - sender_config.frame_sample_rate = data->rate; - sender_config.frame_channels = ROC_CHANNEL_SET_STEREO; - sender_config.frame_encoding = ROC_FRAME_ENCODING_PCM_FLOAT; + sender_config.frame_encoding.rate = data->rate; + sender_config.frame_encoding.channels = ROC_CHANNEL_LAYOUT_STEREO; + sender_config.frame_encoding.format = ROC_FORMAT_PCM_FLOAT32; sender_config.fec_encoding = data->fec_code; info.rate = data->rate; diff --git a/src/modules/module-roc-source.c b/src/modules/module-roc-source.c index aa77979a2..4a7c3a215 100644 --- a/src/modules/module-roc-source.c +++ b/src/modules/module-roc-source.c @@ -268,9 +268,10 @@ static int roc_source_setup(struct module_roc_source_data *data) } spa_zero(receiver_config); - receiver_config.frame_sample_rate = data->rate; - receiver_config.frame_channels = ROC_CHANNEL_SET_STEREO; - receiver_config.frame_encoding = ROC_FRAME_ENCODING_PCM_FLOAT; + + receiver_config.frame_encoding.rate = data->rate; + receiver_config.frame_encoding.channels = ROC_CHANNEL_LAYOUT_STEREO; + receiver_config.frame_encoding.format = ROC_FORMAT_PCM_FLOAT32; receiver_config.resampler_profile = data->resampler_profile; info.rate = data->rate; diff --git a/src/modules/module-roc/common.h b/src/modules/module-roc/common.h index 248c66ebd..f54c7e1d1 100644 --- a/src/modules/module-roc/common.h +++ b/src/modules/module-roc/common.h @@ -31,8 +31,6 @@ static inline int pw_roc_parse_resampler_profile(roc_resampler_profile *out, con { if (!str || !*str) *out = ROC_RESAMPLER_PROFILE_DEFAULT; - else if (spa_streq(str, "disable")) - *out = ROC_RESAMPLER_PROFILE_DISABLE; else if (spa_streq(str, "high")) *out = ROC_RESAMPLER_PROFILE_HIGH; else if (spa_streq(str, "medium"))