From c578e80d6fcc6c2098f6985d29ba9d94e376f1dd Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 22 Sep 2021 20:18:57 +0200 Subject: [PATCH] rawmidi: return ENOTSUP when timestamp reads are not supported by plugins Signed-off-by: Jaroslav Kysela --- src/rawmidi/rawmidi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/rawmidi/rawmidi.c b/src/rawmidi/rawmidi.c index 58557e57..2ff3f6cf 100644 --- a/src/rawmidi/rawmidi.c +++ b/src/rawmidi/rawmidi.c @@ -844,6 +844,8 @@ int snd_rawmidi_params_set_read_mode(const snd_rawmidi_t *rawmidi, snd_rawmidi_p framing = SNDRV_RAWMIDI_MODE_FRAMING_NONE; break; case SND_RAWMIDI_READ_TSTAMP: + if (rawmidi->ops->tread == NULL) + return -ENOTSUP; framing = SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP; break; default: @@ -1114,5 +1116,7 @@ ssize_t snd_rawmidi_tread(snd_rawmidi_t *rawmidi, struct timespec *tstamp, void assert(buffer || size == 0); if ((rawmidi->params_mode & SNDRV_RAWMIDI_MODE_FRAMING_MASK) == SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP) return -EINVAL; + if (rawmidi->ops->tread == NULL) + return -ENOTSUP; return (rawmidi->ops->tread)(rawmidi, tstamp, buffer, size); } -- 2.47.3