mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-01 22:58:50 -04: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;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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->event);
|
||||
|
||||
uninit_stream(state, SPA_DIRECTION_INPUT);
|
||||
uninit_stream(state, SPA_DIRECTION_OUTPUT);
|
||||
|
||||
spa_system_close(state->data_system, state->timerfd);
|
||||
state->opened = false;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue