From: Takashi Iwai Date: Tue, 3 Jul 2018 15:13:00 +0000 (+0200) Subject: jack: Allow build with older alsa-lib X-Git-Tag: v1.1.7~9 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=a4ce4f6e6fd8bb39bb047e938c2353feb8a1b9e2;p=alsa-plugins.git jack: Allow build with older alsa-lib The new API snd_pcm_ioplug_avail() doesn't appear prior to alsa-lib 1.1.7. Add an own code for allowing the build with alsa-lib 1.1.6. It has a very slight overhead than the original snd_pcm_ioplug_avail() but should be OK as a workaround. Signed-off-by: Takashi Iwai --- diff --git a/jack/pcm_jack.c b/jack/pcm_jack.c index 98a6f7e..fbc9daf 100644 --- a/jack/pcm_jack.c +++ b/jack/pcm_jack.c @@ -58,6 +58,15 @@ typedef struct { static int snd_pcm_jack_stop(snd_pcm_ioplug_t *io); +/* snd_pcm_ioplug_avail() was introduced after alsa-lib 1.1.6 */ +#if SND_LIB_VERSION < 0x10107 +static snd_pcm_uframes_t snd_pcm_ioplug_avail(const snd_pcm_ioplug_t *io, + const snd_pcm_uframes_t hw_ptr, + const snd_pcm_uframes_t appl_ptr) +{ + return io->buffer_size - snd_pcm_ioplug_hw_avail(io, hw_ptr, appl_ptr); +} +#endif static int pcm_poll_block_check(snd_pcm_ioplug_t *io) {