mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
alsa-seq: clear the midi event queue on close to avoid leak
This commit is contained in:
parent
d2bd076a97
commit
7d88c37e5b
1 changed files with 10 additions and 0 deletions
|
|
@ -137,6 +137,13 @@ static int init_stream(struct seq_state *state, enum spa_direction direction)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int uninit_stream(struct seq_state *state, enum spa_direction direction)
|
||||||
|
{
|
||||||
|
struct seq_stream *stream = &state->streams[direction];
|
||||||
|
snd_midi_event_free(stream->codec);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void init_ports(struct seq_state *state)
|
static void init_ports(struct seq_state *state)
|
||||||
{
|
{
|
||||||
snd_seq_addr_t addr;
|
snd_seq_addr_t addr;
|
||||||
|
|
@ -324,6 +331,9 @@ int spa_alsa_seq_close(struct seq_state *state)
|
||||||
seq_close(state, &state->sys);
|
seq_close(state, &state->sys);
|
||||||
seq_close(state, &state->event);
|
seq_close(state, &state->event);
|
||||||
|
|
||||||
|
uninit_stream(state, SPA_DIRECTION_INPUT);
|
||||||
|
uninit_stream(state, SPA_DIRECTION_OUTPUT);
|
||||||
|
|
||||||
spa_system_close(state->data_system, state->timerfd);
|
spa_system_close(state->data_system, state->timerfd);
|
||||||
state->opened = false;
|
state->opened = false;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue