jack: new jackaudiosrc and jackaudiosink elements, moved from gst-plugins-bad
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Sun, 2 Jan 2011 15:25:41 +0000 (15:25 +0000)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Sun, 2 Jan 2011 15:26:30 +0000 (15:26 +0000)
https://bugzilla.gnome.org/show_bug.cgi?id=621929

.gitignore
configure.ac
docs/plugins/Makefile.am
docs/plugins/gst-plugins-good-plugins-docs.sgml
docs/plugins/gst-plugins-good-plugins-sections.txt
docs/plugins/inspect/plugin-jack.xml [new file with mode: 0644]
ext/Makefile.am
gst-plugins-good.spec.in
tests/examples/Makefile.am
tests/examples/jack/Makefile.am

index 2ff4d5a..91867b2 100644 (file)
@@ -43,3 +43,5 @@ gst/deinterlace/tvtime.h
 
 tmp-orc.c
 *orc.h
+
+/tests/examples/jack/jack_client
index f510f70..246e1f2 100644 (file)
@@ -748,6 +748,14 @@ AG_GST_CHECK_FEATURE(HAL, [HAL libraries], halelements, [
   AG_GST_PKG_CHECK_MODULES(HAL, [hal >= 0.5.6, dbus-1 >= 0.32])
 ])
 
+dnl *** Jack ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
+AG_GST_CHECK_FEATURE(JACK, Jack, jack, [
+  PKG_CHECK_MODULES(JACK, jack >= 0.99.10, HAVE_JACK="yes", HAVE_JACK="no")
+  AC_SUBST(JACK_CFLAGS)
+  AC_SUBST(JACK_LIBS)
+])
+
 dnl *** jpeg ***
 dnl FIXME: we could use header checks here as well IMO
 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
@@ -1020,6 +1028,7 @@ AM_CONDITIONAL(USE_GCONFTOOL, false)
 AM_CONDITIONAL(USE_GDK_PIXBUF, false)
 AM_CONDITIONAL(USE_GST_V4L2, false)
 AM_CONDITIONAL(USE_HAL, false)
+AM_CONDITIONAL(USE_JACK, false)
 AM_CONDITIONAL(USE_JPEG, false)
 AM_CONDITIONAL(USE_LIBCACA, false)
 AM_CONDITIONAL(USE_LIBDV, false)
@@ -1144,7 +1153,6 @@ gst/wavenc/Makefile
 gst/wavparse/Makefile
 gst/flx/Makefile
 gst/y4m/Makefile
-ext/jpeg/Makefile
 ext/Makefile
 ext/aalib/Makefile
 ext/annodex/Makefile
@@ -1155,6 +1163,8 @@ ext/flac/Makefile
 ext/gconf/Makefile
 ext/gdk_pixbuf/Makefile
 ext/hal/Makefile
+ext/jack/Makefile
+ext/jpeg/Makefile
 ext/libcaca/Makefile
 ext/libpng/Makefile
 ext/pulse/Makefile
@@ -1180,6 +1190,7 @@ tests/check/Makefile
 tests/examples/Makefile
 tests/examples/audiofx/Makefile
 tests/examples/equalizer/Makefile
+tests/examples/jack/Makefile
 tests/examples/level/Makefile
 tests/examples/pulse/Makefile
 tests/examples/rtp/Makefile
index 6598f4d..975e465 100644 (file)
@@ -94,6 +94,8 @@ EXTRA_HFILES = \
        $(top_srcdir)/ext/gdk_pixbuf/gstgdkpixbufsink.h \
        $(top_srcdir)/ext/hal/gsthalaudiosink.h \
        $(top_srcdir)/ext/hal/gsthalaudiosrc.h \
+       $(top_srcdir)/ext/jack/gstjackaudiosrc.h \
+       $(top_srcdir)/ext/jack/gstjackaudiosink.h \
        $(top_srcdir)/ext/jpeg/gstjpegdec.h \
        $(top_srcdir)/ext/jpeg/gstjpegenc.h \
        $(top_srcdir)/ext/jpeg/gstsmokedec.h \
index 1b7136b..ade8dfd 100644 (file)
@@ -94,6 +94,8 @@
     <xi:include href="xml/element-id3v2mux.xml" />
     <xi:include href="xml/element-imagefreeze.xml" />
     <xi:include href="xml/element-interleave.xml" />
+    <xi:include href="xml/element-jackaudiosrc.xml" />
+    <xi:include href="xml/element-jackaudiosink.xml" />
     <xi:include href="xml/element-jpegdec.xml" />
     <xi:include href="xml/element-jpegenc.xml" />
     <xi:include href="xml/element-level.xml" />
     <xi:include href="xml/plugin-id3demux.xml" />
     <xi:include href="xml/plugin-imagefreeze.xml" />
     <xi:include href="xml/plugin-interleave.xml" />
+    <xi:include href="xml/plugin-jack.xml" />
     <xi:include href="xml/plugin-jpeg.xml" />
     <xi:include href="xml/plugin-level.xml" />
     <xi:include href="xml/plugin-matroska.xml" />
index c643d47..60d2c45 100644 (file)
@@ -1114,6 +1114,36 @@ gst_interleave_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-jackaudiosrc</FILE>
+<TITLE>jackaudiosrc</TITLE>
+GstJackAudioSrc
+<SUBSECTION Standard>
+GstJackAudioSrcClass
+GST_JACK_AUDIO_SRC
+GST_JACK_AUDIO_SRC_CLASS
+GST_JACK_AUDIO_SRC_GET_CLASS
+GST_IS_JACK_AUDIO_SRC
+GST_IS_JACK_AUDIO_SRC_CLASS
+GST_TYPE_JACK_AUDIO_SRC
+gst_jack_audio_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-jackaudiosink</FILE>
+<TITLE>jackaudiosink</TITLE>
+GstJackAudioSink
+<SUBSECTION Standard>
+GstJackAudioSinkClass
+GST_JACK_AUDIO_SINK
+GST_JACK_AUDIO_SINK_CLASS
+GST_JACK_AUDIO_SINK_GET_CLASS
+GST_IS_JACK_AUDIO_SINK
+GST_IS_JACK_AUDIO_SINK_CLASS
+GST_TYPE_JACK_AUDIO_SINK
+gst_jack_audio_sink_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-jpegdec</FILE>
 <TITLE>jpegdec</TITLE>
 GstJpegDec
diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml
new file mode 100644 (file)
index 0000000..dcead7b
--- /dev/null
@@ -0,0 +1,43 @@
+<plugin>
+  <name>jack</name>
+  <description>Jack elements</description>
+  <filename>../../ext/jack/.libs/libgstjack.so</filename>
+  <basename>libgstjack.so</basename>
+  <version>0.10.26.1</version>
+  <license>LGPL</license>
+  <source>gst-plugins-good</source>
+  <package>GStreamer Good Plug-ins git</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>jackaudiosink</name>
+      <longname>Audio Sink (Jack)</longname>
+      <class>Sink/Audio</class>
+      <description>Output to Jack</description>
+      <author>Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw-float, endianness=(int){ 1234 }, width=(int)32, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>jackaudiosrc</name>
+      <longname>Audio Source (Jack)</longname>
+      <class>Source/Audio</class>
+      <description>Input from Jack</description>
+      <author>Tristan Matthews &lt;tristan@sat.qc.ca&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw-float, endianness=(int){ 1234 }, width=(int)32, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
index 1dc2e2a..409408e 100644 (file)
@@ -46,6 +46,12 @@ else
 HAL_DIR =
 endif
 
+if USE_JACK
+JACK_DIR=jack
+else
+JACK_DIR=
+endif
+
 if USE_JPEG
 JPEG_DIR = jpeg
 else
@@ -135,6 +141,7 @@ SUBDIRS = \
        $(GCONF_DIR) \
        $(GDK_PIXBUF_DIR) \
        $(HAL_DIR) \
+       $(JACK_DIR) \
        $(JPEG_DIR) \
        $(LIBCACA_DIR) \
        $(LIBDV_DIR) \
@@ -158,6 +165,7 @@ DIST_SUBDIRS = \
        gconf \
        gdk_pixbuf \
        hal \
+       jack \
        jpeg \
        libcaca \
        libpng \
index 6cdd96c..88dc858 100644 (file)
@@ -147,6 +147,7 @@ rm -rf $RPM_BUILD_ROOT
 @USE_LIBCACA_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstcacasink.so
 @USE_ESD_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstesd.so
 @USE_FLAC_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstflac.so
+@USE_JACK_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstjack.so
 @USE_JPEG_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstjpeg.so
 @USE_LIBPNG_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstpng.so
 @USE_OSS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstossaudio.so
index d3d93d4..54e53ba 100644 (file)
@@ -1,5 +1,11 @@
-SUBDIRS = audiofx equalizer level pulse rtp shapewipe spectrum v4l2
+if USE_JACK
+JACK_DIR=jack
+else
+JACK_DIR=
+endif
 
-DIST_SUBDIRS = audiofx equalizer level pulse rtp shapewipe spectrum v4l2
+SUBDIRS = audiofx equalizer $(JACK_DIR) level pulse rtp shapewipe spectrum v4l2
+
+DIST_SUBDIRS = audiofx equalizer jack level pulse rtp shapewipe spectrum v4l2
 
 include $(top_srcdir)/common/parallel-subdirs.mak
index 4adfd13..ad61cbd 100644 (file)
@@ -1,4 +1,10 @@
-noinst_PROGRAMS = jack_client
+if HAVE_GTK
+GTK_EXAMPLES=jack_client
+else
+GTK_EXAMPLES=
+endif
+
+noinst_PROGRAMS = $(GTK_EXAMPLES)
 
 jack_client_SOURCES = jack_client.c
 jack_client_CFLAGS = $(GST_CFLAGS) $(GTK_CFLAGS) $(JACK_CFLAGS)