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 tiwai@suse.de --- jack/pcm_jack.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/jack/pcm_jack.c b/jack/pcm_jack.c index 98a6f7ebb82e..fbc9dafc594b 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) {