mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
pulse-server: don't fix sample rate
Use the builder directly to leave the samplerate undefined so that we adapt to the graph samplerate instead of forcing resampling.
This commit is contained in:
parent
4aa817771a
commit
27e00d1be4
1 changed files with 9 additions and 17 deletions
|
|
@ -150,8 +150,14 @@ static int module_loopback_load(struct client *client, struct module *module)
|
||||||
&out_stream_events, data);
|
&out_stream_events, data);
|
||||||
|
|
||||||
n_params = 0;
|
n_params = 0;
|
||||||
params[n_params++] = spa_format_audio_raw_build(&b, SPA_PARAM_EnumFormat,
|
params[n_params++] = spa_pod_builder_add_object(&b,
|
||||||
&data->info);
|
SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat,
|
||||||
|
SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_audio),
|
||||||
|
SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_raw),
|
||||||
|
SPA_FORMAT_AUDIO_format, SPA_POD_Id(data->info.format),
|
||||||
|
SPA_FORMAT_AUDIO_channels, SPA_POD_Int(data->info.channels),
|
||||||
|
SPA_FORMAT_AUDIO_position, SPA_POD_Array(sizeof(uint32_t),
|
||||||
|
SPA_TYPE_Id, data->info.channels, data->info.position));
|
||||||
|
|
||||||
if ((res = pw_stream_connect(data->capture,
|
if ((res = pw_stream_connect(data->capture,
|
||||||
PW_DIRECTION_INPUT,
|
PW_DIRECTION_INPUT,
|
||||||
|
|
@ -236,21 +242,7 @@ static struct module *create_module_loopback(struct impl *impl, const char *argu
|
||||||
pw_properties_set(props, "sink", NULL);
|
pw_properties_set(props, "sink", NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((str = pw_properties_get(props, "format")) != NULL) {
|
info.format = SPA_AUDIO_FORMAT_F32P;
|
||||||
info.format = format_paname2id(str, strlen(str));
|
|
||||||
if (info.format == SPA_AUDIO_FORMAT_UNKNOWN)
|
|
||||||
ERROR_RETURN("Unknown format specified");
|
|
||||||
pw_properties_set(props, "format", NULL);
|
|
||||||
} else {
|
|
||||||
info.format = SPA_AUDIO_FORMAT_F32P;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((str = pw_properties_get(props, "rate")) != NULL) {
|
|
||||||
info.rate = pw_properties_parse_int(str);
|
|
||||||
pw_properties_set(props, "rate", NULL);
|
|
||||||
} else {
|
|
||||||
info.rate = 48000;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((str = pw_properties_get(props, "channels")) != NULL) {
|
if ((str = pw_properties_get(props, "channels")) != NULL) {
|
||||||
info.channels = pw_properties_parse_int(str);
|
info.channels = pw_properties_parse_int(str);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue