diff --git a/src/modules/module-adapter.c b/src/modules/module-adapter.c index 7da6824a5..06202f59b 100644 --- a/src/modules/module-adapter.c +++ b/src/modules/module-adapter.c @@ -188,7 +188,7 @@ static void *create_object(void *_data, PW_SPA_NODE_FLAG_NO_REGISTER, pw_properties_copy(properties), 0); if (follower == NULL) - goto error_no_mem; + goto error_errno; } adapter = pw_adapter_new(pw_impl_module_get_context(d->module), @@ -198,8 +198,8 @@ static void *create_object(void *_data, properties = NULL; if (adapter == NULL) { - if (errno == ENOMEM) - goto error_no_mem; + if (errno == ENOMEM || errno == EBUSY) + goto error_errno; else goto error_usage; } @@ -226,7 +226,7 @@ error_properties: if (resource) pw_resource_errorf_id(resource, new_id, res, "usage: " FACTORY_USAGE); goto error_cleanup; -error_no_mem: +error_errno: res = -errno; pw_log_error("can't create node: %m"); if (resource) diff --git a/src/modules/module-adapter/adapter.c b/src/modules/module-adapter/adapter.c index 5be84f8a2..a19abed43 100644 --- a/src/modules/module-adapter/adapter.c +++ b/src/modules/module-adapter/adapter.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -171,8 +172,8 @@ static int find_format(struct pw_impl_node *node, enum pw_direction direction, SPA_DIRECTION_OUTPUT, 0, SPA_PARAM_EnumFormat, &state, NULL, &format, &b)) != 1) { - pw_log_warn(NAME " %p: no format given", node); - return -ENOENT; + pw_log_warn(NAME " %p: can't get format: %s", node, spa_strerror(res)); + return res; } if ((res = spa_format_parse(format, media_type, media_subtype)) < 0)