mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-03-13 05:33:55 -04:00
modules: handle format parsing errors
This commit is contained in:
parent
b8eeb2db45
commit
5e1e3fca1e
17 changed files with 125 additions and 66 deletions
|
|
@ -838,9 +838,9 @@ static const struct pw_impl_module_events module_events = {
|
|||
.destroy = module_destroy,
|
||||
};
|
||||
|
||||
static void parse_audio_info(struct pw_properties *props, struct spa_audio_info_raw *info)
|
||||
static int parse_audio_info(struct pw_properties *props, struct spa_audio_info_raw *info)
|
||||
{
|
||||
spa_audio_info_raw_init_dict_keys(info,
|
||||
return spa_audio_info_raw_init_dict_keys(info,
|
||||
&SPA_DICT_ITEMS(
|
||||
SPA_DICT_ITEM(SPA_KEY_AUDIO_FORMAT, "F32P")),
|
||||
&props->dict,
|
||||
|
|
@ -952,9 +952,12 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
|||
if (pw_properties_get(impl->playback_props, PW_KEY_NODE_DESCRIPTION) == NULL)
|
||||
pw_properties_set(impl->playback_props, PW_KEY_NODE_DESCRIPTION, str);
|
||||
|
||||
parse_audio_info(props, &impl->info);
|
||||
parse_audio_info(impl->capture_props, &impl->capture_info);
|
||||
parse_audio_info(impl->playback_props, &impl->playback_info);
|
||||
if ((res = parse_audio_info(props, &impl->info)) < 0 ||
|
||||
(res = parse_audio_info(impl->capture_props, &impl->capture_info)) < 0 ||
|
||||
(res = parse_audio_info(impl->playback_props, &impl->playback_info)) < 0) {
|
||||
pw_log_error( "can't parse formats: %s", spa_strerror(res));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!impl->capture_info.rate && !impl->playback_info.rate) {
|
||||
if (pw_properties_get(impl->playback_props, "resample.disable") == NULL)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue