mpg123: hook up to build system
authorTim-Philipp Müller <tim@centricular.com>
Sun, 20 Aug 2017 12:56:19 +0000 (13:56 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Sun, 20 Aug 2017 14:50:22 +0000 (15:50 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=774252

REQUIREMENTS
configure.ac
ext/Makefile.am
ext/meson.build
ext/mpg123/meson.build
tests/check/Makefile.am
tests/check/elements/.gitignore
tests/check/meson.build

index 5f1b106..d399ea0 100644 (file)
@@ -125,6 +125,12 @@ DebianPackage:  libdv4-dev
 Plugins:        dv (dvdec)
 URL:            http://libdv.sourceforge.net/
 
+Package:       libmpg123
+Version:        >= 1.3
+DebianPackage:  libpng12-dev
+Plugins:        mpg123 (mpg123audiodec)
+URL:           https://www.mpg123.de/api/
+
 Package:        Libpng
 Version:        >= 1.2
 DebianPackage:  libpng12-dev
index ae1fe3d..9dc76c8 100644 (file)
@@ -683,6 +683,14 @@ AG_GST_CHECK_FEATURE(LIBPNG, [Portable Network Graphics library], png, [
   AG_GST_PKG_CHECK_MODULES(LIBPNG, libpng >= 1.2)
 ])
 
+dnl *** mpg123 ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_MPG123, true)
+AG_GST_CHECK_FEATURE(MPG123, [mpg123 audio decoder], mpg123, [
+  PKG_CHECK_MODULES(MPG123, libmpg123 >= 1.13, HAVE_MPG123="yes", HAVE_MPG123="no")
+  AC_SUBST(MPG123_CFLAGS)
+  AC_SUBST(MPG123_LIBS)
+])
+
 dnl *** pulseaudio ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_PULSE, true)
 AG_GST_CHECK_FEATURE(PULSE, [pulseaudio plug-in], pulseaudio, [
@@ -874,6 +882,7 @@ AM_CONDITIONAL(USE_LIBCACA, false)
 AM_CONDITIONAL(USE_LIBDV, false)
 AM_CONDITIONAL(USE_LIBIEC61883, false)
 AM_CONDITIONAL(USE_LIBPNG, false)
+AM_CONDITIONAL(USE_MPG123, false)
 AM_CONDITIONAL(USE_OSS, false)
 AM_CONDITIONAL(USE_OSS4, false)
 AM_CONDITIONAL(USE_OSX_AUDIO, false)
@@ -1014,6 +1023,7 @@ ext/jack/Makefile
 ext/jpeg/Makefile
 ext/libcaca/Makefile
 ext/libpng/Makefile
+ext/mpg123/Makefile
 ext/pulse/Makefile
 ext/raw1394/Makefile
 ext/shout2/Makefile
index 6f00182..1bb540b 100644 (file)
@@ -52,6 +52,12 @@ else
 LIBPNG_DIR =
 endif
 
+if USE_MPG123
+MPG123_DIR = mpg123
+else
+MPG123_DIR =
+endif
+
 if USE_DV1394
 DV1394_DIR = raw1394
 else
@@ -113,6 +119,7 @@ SUBDIRS = \
        $(LIBDV_DIR) \
        $(LIBMNG_DIR) \
        $(LIBPNG_DIR) \
+       $(MPG123_DIR) \
        $(PULSE_DIR) \
        $(SHOUT2_DIR) \
        $(SOUP_DIR) \
@@ -131,6 +138,7 @@ DIST_SUBDIRS = \
        jpeg \
        libcaca \
        libpng \
+       mpg123 \
        pulse \
        raw1394 \
        shout2 \
index a2967f6..92f75ef 100644 (file)
@@ -10,6 +10,7 @@ if cc.get_id() != 'msvc'
   subdir('dv')
 endif
 subdir('libpng')
+subdir('mpg123')
 subdir('raw1394')
 subdir('pulse')
 subdir('shout2')
index a575449..3891fd7 100644 (file)
@@ -1,13 +1,9 @@
-mpg123_sources = [
-  'gstmpg123audiodec.c',
-]
-
 mpg123_dep = dependency('libmpg123', version : '>= 1.3', required : false)
 
 if mpg123_dep.found()
   gstmpg123 = library('gstmpg123',
-    mpg123_sources,
-    c_args : ugly_args,
+    'gstmpg123audiodec.c',
+    c_args : gst_plugins_good_args,
     include_directories : [configinc],
     dependencies : [gstaudio_dep, mpg123_dep],
     install : true,
index cf253e4..b18bc9b 100644 (file)
@@ -203,6 +203,12 @@ else
 check_matroska =
 endif
 
+if USE_MPG123
+check_mpg123 = elements/mpg123audiodec
+else
+check_mpg123 =
+endif
+
 if USE_PLUGIN_MULTIFILE
 check_multifile = elements/multifile elements/splitmux
 else
@@ -369,6 +375,7 @@ check_PROGRAMS = \
        $(check_law) \
        $(check_level) \
        $(check_matroska) \
+       $(check_mpg123) \
        $(check_multifile) \
        $(check_replaygain) \
        $(check_rtp) \
@@ -512,6 +519,11 @@ elements_jpegenc_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstapp-$(GST_API_VERSION) $(
 
 elements_matroskamux_LDADD = $(GST_BASE_LIBS) $(LDADD) $(LIBM)
 
+elements_mpg123audiodec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
+elements_mpg123audiodec_LDADD = \
+       $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ -lgstfft-@GST_API_VERSION@ \
+       -lgstapp-@GST_API_VERSION@ $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+
 elements_mulawdec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
 
 elements_mulawenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
index e5cfb3b..f3f2f74 100644 (file)
@@ -42,6 +42,7 @@ matroskademux
 matroskamux
 matroskaparse
 mpegaudioparse
+mpg123audiodec
 mulawdec
 mulawenc
 multifile
index e5eddc6..6991806 100644 (file)
@@ -60,6 +60,7 @@ good_tests = [
   [ 'elements/matroskademux' ],
   [ 'elements/matroskamux' ],
   [ 'elements/matroskaparse' ],
+  [ 'elements/mpg123audiodec', not mpg123_dep.found() ],
   [ 'elements/multifile' ],
   [ 'elements/splitmux' ],
   [ 'elements/rganalysis' ],