[alsa-devel] [PATCH 1/2] 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 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) {
JACK plugin requires the recently added API function.
Signed-off-by: Takashi Iwai tiwai@suse.de --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac index f49bb6bcd9af..3e2d233aa5a2 100644 --- a/configure.ac +++ b/configure.ac @@ -16,7 +16,7 @@ AC_HEADER_STDC
CC_NOUNDEFINED
-PKG_CHECK_MODULES(ALSA, alsa >= 1.0.11) +PKG_CHECK_MODULES(ALSA, alsa >= 1.1.6) AC_CHECK_LIB(asound, snd_pcm_ioplug_create,, AC_ERROR([*** libasound has no external plugin SDK]), -ldl)
On Tue, 03 Jul 2018 17:37:45 +0200, Takashi Iwai wrote:
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
Note: these two patches are for alsa-lib. Forgot to add "alsa-lib" prefix in the subject line, sorry.
Takashi
participants (1)
-
Takashi Iwai