[alsa-devel] [PATCH 1/2] jack: Allow build with older alsa-lib

Takashi Iwai tiwai at suse.de
Tue Jul 3 17:37:45 CEST 2018


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 at 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)
 {
-- 
2.18.0



More information about the Alsa-devel mailing list