mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
filter-chain: add more debug
This commit is contained in:
parent
8ec0f1eb4b
commit
641e685d5b
1 changed files with 24 additions and 12 deletions
|
@ -94,8 +94,6 @@ static const struct spa_dict_item module_props[] = {
|
||||||
|
|
||||||
#include <pipewire/pipewire.h>
|
#include <pipewire/pipewire.h>
|
||||||
|
|
||||||
#define MAX_NODES 1
|
|
||||||
#define MAX_LINKS 0
|
|
||||||
#define MAX_PORTS 64
|
#define MAX_PORTS 64
|
||||||
#define MAX_CONTROLS 256
|
#define MAX_CONTROLS 256
|
||||||
#define MAX_SAMPLES 8192
|
#define MAX_SAMPLES 8192
|
||||||
|
@ -166,17 +164,17 @@ struct graph {
|
||||||
|
|
||||||
uint32_t n_input;
|
uint32_t n_input;
|
||||||
const LADSPA_Descriptor *in_desc[MAX_PORTS];
|
const LADSPA_Descriptor *in_desc[MAX_PORTS];
|
||||||
LADSPA_Handle *in_hndl[MAX_PORTS];
|
LADSPA_Handle in_hndl[MAX_PORTS];
|
||||||
uint32_t in_port[MAX_PORTS];
|
uint32_t in_port[MAX_PORTS];
|
||||||
|
|
||||||
uint32_t n_output;
|
uint32_t n_output;
|
||||||
const LADSPA_Descriptor *out_desc[MAX_PORTS];
|
const LADSPA_Descriptor *out_desc[MAX_PORTS];
|
||||||
LADSPA_Handle *out_hndl[MAX_PORTS];
|
LADSPA_Handle out_hndl[MAX_PORTS];
|
||||||
uint32_t out_port[MAX_PORTS];
|
uint32_t out_port[MAX_PORTS];
|
||||||
|
|
||||||
uint32_t n_hndl;
|
uint32_t n_hndl;
|
||||||
const LADSPA_Descriptor *desc[MAX_PORTS];
|
const LADSPA_Descriptor *desc[MAX_PORTS];
|
||||||
LADSPA_Handle *hndl[MAX_PORTS];
|
LADSPA_Handle hndl[MAX_PORTS];
|
||||||
|
|
||||||
uint32_t n_control;
|
uint32_t n_control;
|
||||||
struct node *control_node[MAX_CONTROLS];
|
struct node *control_node[MAX_CONTROLS];
|
||||||
|
@ -853,10 +851,14 @@ static int parse_link(struct graph *graph, struct spa_json *json)
|
||||||
else if (spa_json_next(json, &val) < 0)
|
else if (spa_json_next(json, &val) < 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ((res = find_node_port(graph, output, LADSPA_PORT_OUTPUT, &np_out)) < 0)
|
if ((res = find_node_port(graph, output, LADSPA_PORT_OUTPUT, &np_out)) < 0) {
|
||||||
|
pw_log_error("unknown output port %s", output);
|
||||||
return res;
|
return res;
|
||||||
if ((res = find_node_port(graph, input, LADSPA_PORT_INPUT, &np_in)) < 0)
|
}
|
||||||
|
if ((res = find_node_port(graph, input, LADSPA_PORT_INPUT, &np_in)) < 0) {
|
||||||
|
pw_log_error("unknown input port %s", input);
|
||||||
return res;
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
if ((link = calloc(1, sizeof(*link))) == NULL)
|
if ((link = calloc(1, sizeof(*link))) == NULL)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
@ -973,7 +975,7 @@ static int setup_graph(struct graph *graph, struct spa_json *inputs, struct spa_
|
||||||
{
|
{
|
||||||
struct impl *impl = graph->impl;
|
struct impl *impl = graph->impl;
|
||||||
struct node *node, *first, *last;
|
struct node *node, *first, *last;
|
||||||
uint32_t i, j, n_input, n_output, n_hndl;
|
uint32_t i, j, n_input, n_output, n_hndl = 0;
|
||||||
int res;
|
int res;
|
||||||
unsigned long p;
|
unsigned long p;
|
||||||
struct ladspa_descriptor *desc;
|
struct ladspa_descriptor *desc;
|
||||||
|
@ -1000,6 +1002,16 @@ static int setup_graph(struct graph *graph, struct spa_json *inputs, struct spa_
|
||||||
} else {
|
} else {
|
||||||
n_output = last->desc->n_output;
|
n_output = last->desc->n_output;
|
||||||
}
|
}
|
||||||
|
if (n_input == 0) {
|
||||||
|
pw_log_error("no inputs");
|
||||||
|
res = -EINVAL;
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
if (n_output == 0) {
|
||||||
|
pw_log_error("no outputs");
|
||||||
|
res = -EINVAL;
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
if (impl->capture_info.channels == 0)
|
if (impl->capture_info.channels == 0)
|
||||||
impl->capture_info.channels = n_input;
|
impl->capture_info.channels = n_input;
|
||||||
|
@ -1036,8 +1048,6 @@ static int setup_graph(struct graph *graph, struct spa_json *inputs, struct spa_
|
||||||
}
|
}
|
||||||
for (j = 0; j < desc->n_output; j++) {
|
for (j = 0; j < desc->n_output; j++) {
|
||||||
p = desc->output[j];
|
p = desc->output[j];
|
||||||
pw_log_info("out %d %lu %s %p %p %p", i, p,
|
|
||||||
node->name, node->hndl[i], d, *d->connect_port);
|
|
||||||
d->connect_port(node->hndl[i], p, graph->discard_data);
|
d->connect_port(node->hndl[i], p, graph->discard_data);
|
||||||
}
|
}
|
||||||
for (j = 0; j < desc->n_control; j++) {
|
for (j = 0; j < desc->n_control; j++) {
|
||||||
|
@ -1194,8 +1204,10 @@ static int load_graph(struct graph *graph, struct pw_properties *props)
|
||||||
}
|
}
|
||||||
|
|
||||||
spa_json_init(&it[0], json, strlen(json));
|
spa_json_init(&it[0], json, strlen(json));
|
||||||
if (spa_json_enter_object(&it[0], &it[1]) <= 0)
|
if (spa_json_enter_object(&it[0], &it[1]) <= 0) {
|
||||||
spa_json_init(&it[1], json, strlen(json));
|
pw_log_error("filter.graph must be an object");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
while (spa_json_get_string(&it[1], key, sizeof(key)) > 0) {
|
while (spa_json_get_string(&it[1], key, sizeof(key)) > 0) {
|
||||||
if (strcmp("nodes", key) == 0) {
|
if (strcmp("nodes", key) == 0) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue