From acd0300485a49f2d5929252139011453e9611fe3 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Tue, 8 Feb 2022 15:22:39 +0100 Subject: [PATCH] openaptx: Support libfreeaptx [libfreeaptx][1] is a fork of libopenapt 0.2.0, used by pipewire. [1]: https://github.com/iamthehorker/libfreeaptx Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1642 Closes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1589 Part-of: --- subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h | 4 ++++ subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h | 4 ++++ subprojects/gst-plugins-bad/ext/openaptx/meson.build | 15 +++++++++++++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h index 95b126c..081b194 100644 --- a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h +++ b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h @@ -24,7 +24,11 @@ #include #include +#ifdef USE_FREEAPTX +#include +#else #include +#endif G_BEGIN_DECLS diff --git a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h index ab80b61..4cf7e17 100644 --- a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h +++ b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h @@ -24,7 +24,11 @@ #include #include +#ifdef USE_FREEAPTX +#include +#else #include +#endif G_BEGIN_DECLS diff --git a/subprojects/gst-plugins-bad/ext/openaptx/meson.build b/subprojects/gst-plugins-bad/ext/openaptx/meson.build index e361ef3..4db8fdb 100644 --- a/subprojects/gst-plugins-bad/ext/openaptx/meson.build +++ b/subprojects/gst-plugins-bad/ext/openaptx/meson.build @@ -4,12 +4,23 @@ openaptx_sources = [ 'gstopenaptxenc.c', ] -openaptx_dep = dependency('libopenaptx', version : '== 0.2.0', required : get_option('openaptx')) +if not get_option('openaptx').allowed() + subdir_done() +endif + +openaptx_defines = [] + +openaptx_dep = dependency('libfreeaptx', version : '>= 0.1.1', required : false) +if openaptx_dep.found() + openaptx_defines += ['-DUSE_FREEAPTX'] +else + openaptx_dep = dependency('libopenaptx', version : '== 0.2.0', required : get_option('openaptx')) +endif if openaptx_dep.found() gstopenaptx = library('gstopenaptx', openaptx_sources, - c_args : gst_plugins_bad_args, + c_args : gst_plugins_bad_args + openaptx_defines, include_directories : [configinc], dependencies : [gstaudio_dep, openaptx_dep], install : true, -- 2.7.4