mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
alsa-seq: reset buffers
This commit is contained in:
parent
e04d58ee3a
commit
93a2defbb8
1 changed files with 12 additions and 0 deletions
|
|
@ -762,6 +762,15 @@ static void reset_buffers(struct seq_state *this, struct seq_port *port)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static void reset_stream(struct seq_state *this, struct seq_stream *stream)
|
||||||
|
{
|
||||||
|
uint32_t i;
|
||||||
|
for (i = 0; i < MAX_PORTS; i++) {
|
||||||
|
struct seq_port *port = &stream->ports[i];
|
||||||
|
if (port->valid)
|
||||||
|
reset_buffers(this, port);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int set_timers(struct seq_state *state)
|
static int set_timers(struct seq_state *state)
|
||||||
{
|
{
|
||||||
|
|
@ -797,6 +806,9 @@ int spa_alsa_seq_start(struct seq_state *state)
|
||||||
if ((res = seq_start(state, &state->event)) < 0)
|
if ((res = seq_start(state, &state->event)) < 0)
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
|
reset_stream(state, &state->streams[SPA_DIRECTION_INPUT]);
|
||||||
|
reset_stream(state, &state->streams[SPA_DIRECTION_OUTPUT]);
|
||||||
|
|
||||||
state->source.func = alsa_on_timeout_event;
|
state->source.func = alsa_on_timeout_event;
|
||||||
state->source.data = state;
|
state->source.data = state;
|
||||||
state->source.fd = state->timerfd;
|
state->source.fd = state->timerfd;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue