mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
link: remove error from method
We return a reason in errno
This commit is contained in:
parent
2889db8efb
commit
29164a0f54
4 changed files with 15 additions and 13 deletions
|
|
@ -357,7 +357,6 @@ static void make_nodes(struct data *data)
|
||||||
pw_node_find_port(data->node, PW_DIRECTION_INPUT, 0),
|
pw_node_find_port(data->node, PW_DIRECTION_INPUT, 0),
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
|
||||||
0);
|
0);
|
||||||
pw_link_register(data->link, NULL, NULL, NULL);
|
pw_link_register(data->link, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -143,7 +143,6 @@ static void *create_object(void *_data,
|
||||||
uint32_t output_node_id, input_node_id;
|
uint32_t output_node_id, input_node_id;
|
||||||
uint32_t output_port_id, input_port_id;
|
uint32_t output_port_id, input_port_id;
|
||||||
struct link_data *ld;
|
struct link_data *ld;
|
||||||
char *error;
|
|
||||||
const char *str;
|
const char *str;
|
||||||
int res;
|
int res;
|
||||||
bool linger;
|
bool linger;
|
||||||
|
|
@ -210,7 +209,7 @@ static void *create_object(void *_data,
|
||||||
str = pw_properties_get(properties, "object.linger");
|
str = pw_properties_get(properties, "object.linger");
|
||||||
linger = str ? pw_properties_parse_bool(str) : false;
|
linger = str ? pw_properties_parse_bool(str) : false;
|
||||||
|
|
||||||
link = pw_link_new(core, outport, inport, NULL, properties, &error, sizeof(struct link_data));
|
link = pw_link_new(core, outport, inport, NULL, properties, sizeof(struct link_data));
|
||||||
if (link == NULL)
|
if (link == NULL)
|
||||||
goto no_mem;
|
goto no_mem;
|
||||||
|
|
||||||
|
|
@ -265,8 +264,9 @@ static void *create_object(void *_data,
|
||||||
pw_resource_error(resource, -EINVAL, "unknown input port %u", input_port_id);
|
pw_resource_error(resource, -EINVAL, "unknown input port %u", input_port_id);
|
||||||
goto done;
|
goto done;
|
||||||
no_mem:
|
no_mem:
|
||||||
pw_log_error("can't create link: %s", error);
|
res = -errno;
|
||||||
pw_resource_error(resource, -ENOMEM, "can't create link: %s", error);
|
pw_log_error("can't create link: %s", spa_strerror(res));
|
||||||
|
pw_resource_error(resource, res, "can't create link: %s", spa_strerror(res));
|
||||||
goto done;
|
goto done;
|
||||||
no_bind:
|
no_bind:
|
||||||
pw_resource_error(resource, res, "can't bind link");
|
pw_resource_error(resource, res, "can't bind link");
|
||||||
|
|
|
||||||
|
|
@ -1241,7 +1241,6 @@ struct pw_link *pw_link_new(struct pw_core *core,
|
||||||
struct pw_port *input,
|
struct pw_port *input,
|
||||||
struct spa_pod *format_filter,
|
struct spa_pod *format_filter,
|
||||||
struct pw_properties *properties,
|
struct pw_properties *properties,
|
||||||
char **error,
|
|
||||||
size_t user_data_size)
|
size_t user_data_size)
|
||||||
{
|
{
|
||||||
struct impl *impl;
|
struct impl *impl;
|
||||||
|
|
@ -1349,22 +1348,27 @@ struct pw_link *pw_link_new(struct pw_core *core,
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
no_io:
|
no_io:
|
||||||
asprintf(error, "can't set io %d (%s)", res, spa_strerror(res));
|
pw_log_error("can't set io %d (%s)", res, spa_strerror(res));
|
||||||
|
errno = -res;
|
||||||
return NULL;
|
return NULL;
|
||||||
same_ports:
|
same_ports:
|
||||||
asprintf(error, "can't link the same ports");
|
pw_log_error("can't link the same ports");
|
||||||
|
errno = EINVAL;
|
||||||
return NULL;
|
return NULL;
|
||||||
wrong_direction:
|
wrong_direction:
|
||||||
asprintf(error, "ports have wrong direction");
|
pw_log_error("ports have wrong direction");
|
||||||
|
errno = EINVAL;
|
||||||
return NULL;
|
return NULL;
|
||||||
link_exists:
|
link_exists:
|
||||||
asprintf(error, "link already exists");
|
pw_log_error("link already exists");
|
||||||
|
errno = EEXIST;
|
||||||
return NULL;
|
return NULL;
|
||||||
link_not_allowed:
|
link_not_allowed:
|
||||||
asprintf(error, "link not allowed");
|
pw_log_error("link not allowed");
|
||||||
|
errno = EPERM;
|
||||||
return NULL;
|
return NULL;
|
||||||
no_mem:
|
no_mem:
|
||||||
asprintf(error, "no memory");
|
pw_log_error("no memory");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,6 @@ pw_link_new(struct pw_core *core, /**< the core object */
|
||||||
struct pw_port *input, /**< an input port */
|
struct pw_port *input, /**< an input port */
|
||||||
struct spa_pod *format_filter, /**< an optional format filter */
|
struct spa_pod *format_filter, /**< an optional format filter */
|
||||||
struct pw_properties *properties /**< extra properties */,
|
struct pw_properties *properties /**< extra properties */,
|
||||||
char **error, /**< error string when result is NULL */
|
|
||||||
size_t user_data_size /**< extra user data size */);
|
size_t user_data_size /**< extra user data size */);
|
||||||
|
|
||||||
/** Destroy a link \memberof pw_link */
|
/** Destroy a link \memberof pw_link */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue