mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-10-15 20:32:38 +00:00
alsa: improve midi
Add some debug Ignore ports without buffers.
This commit is contained in:
parent
8d472befaa
commit
f539b42a03
|
@ -1 +1 @@
|
|||
Subproject commit 8d8ef587f5c6475df2887422bd268e5065227411
|
||||
Subproject commit 274d616fa6adef0a917f16e1001cf66fdca88e64
|
|
@ -457,16 +457,22 @@ static void update_stream_port(struct seq_state *state, struct seq_stream *strea
|
|||
if (port)
|
||||
free_port(state, port);
|
||||
} else {
|
||||
if (port != NULL && (caps & stream->caps) != stream->caps) {
|
||||
spa_log_debug(state->log, "free port %d.%d", addr->client, addr->port);
|
||||
free_port(state, port);
|
||||
}
|
||||
else if (port == NULL && (caps & stream->caps) == stream->caps) {
|
||||
if (port == NULL && (caps & stream->caps) == stream->caps) {
|
||||
spa_log_debug(state->log, "new port %d.%d", addr->client, addr->port);
|
||||
port = alloc_port(state, stream);
|
||||
if (port == NULL)
|
||||
return;
|
||||
init_port(state, port, addr);
|
||||
} else if (port != NULL) {
|
||||
if ((caps & stream->caps) != stream->caps) {
|
||||
spa_log_debug(state->log, "free port %d.%d", addr->client, addr->port);
|
||||
free_port(state, port);
|
||||
}
|
||||
else {
|
||||
spa_log_debug(state->log, "update port %d.%d", addr->client, addr->port);
|
||||
port->info.change_mask = SPA_PORT_CHANGE_MASK_PROPS;
|
||||
emit_port_info(state, port, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -702,6 +708,9 @@ impl_node_port_use_buffers(void *object,
|
|||
|
||||
port = GET_PORT(this, direction, port_id);
|
||||
|
||||
spa_log_debug(this->log, NAME " %p: port %d.%d buffers:%d format:%d", this,
|
||||
direction, port_id, n_buffers, port->have_format);
|
||||
|
||||
if (!port->have_format)
|
||||
return -EIO;
|
||||
|
||||
|
|
|
@ -216,6 +216,13 @@ static void alsa_seq_on_sys(struct spa_source *source)
|
|||
debug_event(state, ev);
|
||||
|
||||
switch (ev->type) {
|
||||
case SND_SEQ_EVENT_CLIENT_START:
|
||||
case SND_SEQ_EVENT_CLIENT_CHANGE:
|
||||
spa_log_debug(state->log, "client add/change %d", addr->client);
|
||||
break;
|
||||
case SND_SEQ_EVENT_CLIENT_EXIT:
|
||||
break;
|
||||
|
||||
case SND_SEQ_EVENT_PORT_START:
|
||||
case SND_SEQ_EVENT_PORT_CHANGE:
|
||||
{
|
||||
|
@ -442,6 +449,9 @@ static int process_read(struct seq_state *state)
|
|||
addr->client, addr->port);
|
||||
continue;
|
||||
}
|
||||
if (port->io == NULL || port->n_buffers == 0)
|
||||
continue;
|
||||
|
||||
if ((res = prepare_buffer(state, port)) < 0) {
|
||||
spa_log_debug(state->log, "can't prepare buffer port:%p %d.%d: %s",
|
||||
port, addr->client, addr->port, spa_strerror(res));
|
||||
|
|
Loading…
Reference in a new issue