From: Jaroslav Kysela Date: Wed, 22 Sep 2021 18:18:57 +0000 (+0200) Subject: rawmidi: return ENOTSUP when timestamp reads are not supported by plugins X-Git-Tag: v1.2.6~21 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=c578e80d6fcc6c2098f6985d29ba9d94e376f1dd;p=alsa-lib.git rawmidi: return ENOTSUP when timestamp reads are not supported by plugins Signed-off-by: Jaroslav Kysela --- 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); }