diff --git a/.gitignore b/.gitignore index 2ff4d5a7d5..91867b2857 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,5 @@ gst/deinterlace/tvtime.h tmp-orc.c *orc.h + +/tests/examples/jack/jack_client diff --git a/configure.ac b/configure.ac index f510f70673..246e1f2b58 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index 6598f4db50..975e465ab9 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -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 \ diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml index 1b7136b796..ade8dfde20 100644 --- a/docs/plugins/gst-plugins-good-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml @@ -94,6 +94,8 @@ + + @@ -206,6 +208,7 @@ + diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt index c643d47713..60d2c45a2d 100644 --- a/docs/plugins/gst-plugins-good-plugins-sections.txt +++ b/docs/plugins/gst-plugins-good-plugins-sections.txt @@ -1113,6 +1113,36 @@ GstInterleaveFunc gst_interleave_get_type +
+element-jackaudiosrc +jackaudiosrc +GstJackAudioSrc + +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 +
+ +
+element-jackaudiosink +jackaudiosink +GstJackAudioSink + +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 +
+
element-jpegdec jpegdec diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml new file mode 100644 index 0000000000..dcead7b27c --- /dev/null +++ b/docs/plugins/inspect/plugin-jack.xml @@ -0,0 +1,43 @@ + + jack + Jack elements + ../../ext/jack/.libs/libgstjack.so + libgstjack.so + 0.10.26.1 + LGPL + gst-plugins-good + GStreamer Good Plug-ins git + Unknown package origin + + + jackaudiosink + Audio Sink (Jack) + Sink/Audio + Output to Jack + Wim Taymans <wim@fluendo.com> + + + sink + sink + always +
audio/x-raw-float, endianness=(int){ 1234 }, width=(int)32, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
+
+
+
+ + jackaudiosrc + Audio Source (Jack) + Source/Audio + Input from Jack + Tristan Matthews <tristan@sat.qc.ca> + + + src + source + always +
audio/x-raw-float, endianness=(int){ 1234 }, width=(int)32, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
+
+
+
+
+
\ No newline at end of file diff --git a/ext/Makefile.am b/ext/Makefile.am index 1dc2e2abca..409408ea8f 100644 --- a/ext/Makefile.am +++ b/ext/Makefile.am @@ -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 \ diff --git a/gst-plugins-good.spec.in b/gst-plugins-good.spec.in index 6cdd96c4c9..88dc858ace 100644 --- a/gst-plugins-good.spec.in +++ b/gst-plugins-good.spec.in @@ -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 diff --git a/tests/examples/Makefile.am b/tests/examples/Makefile.am index d3d93d4af3..54e53bafb7 100644 --- a/tests/examples/Makefile.am +++ b/tests/examples/Makefile.am @@ -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 diff --git a/tests/examples/jack/Makefile.am b/tests/examples/jack/Makefile.am index 4adfd13142..ad61cbd876 100644 --- a/tests/examples/jack/Makefile.am +++ b/tests/examples/jack/Makefile.am @@ -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)