From: John K. Luebs Date: Sun, 7 Jan 2024 19:33:33 +0000 (-0600) Subject: aplaymidi: Set event completely for tempo event X-Git-Tag: v1.2.11~8 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=4cb3e3a7b5b2347e87747a5544c1f4db62a7be53;p=alsa-utils.git aplaymidi: Set event completely for tempo event After UMP support was added in b399fb8 ev.type setting was inadvertently dropped in the code path handling tempo meta event. This is causing tempo meta events to not be handled at all. Moreover, snd_seq_ev_set_fixed is also missing so MIDI files with variable events such as SYSEX before the tempo meta event usually are causing a segfault. Fixes: b399fb85a919 ("aplaymidi: Add UMP support") Closes: https://github.com/alsa-project/alsa-utils/issues/241 Signed-off-by: Takashi Iwai --- diff --git a/seq/aplaymidi/aplaymidi.c b/seq/aplaymidi/aplaymidi.c index a7293d3..66038e2 100644 --- a/seq/aplaymidi/aplaymidi.c +++ b/seq/aplaymidi/aplaymidi.c @@ -819,6 +819,8 @@ static void play_midi(void) ev.time.tick = event->tick; ev.dest = ports[event->port]; if (event->type == SND_SEQ_EVENT_TEMPO) { + snd_seq_ev_set_fixed(&ev); + ev.type = event->type; ev.dest.client = SND_SEQ_CLIENT_SYSTEM; ev.dest.port = SND_SEQ_PORT_SYSTEM_TIMER; ev.data.queue.queue = queue;