hal: Remove hal plugin
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 3 Aug 2011 08:59:56 +0000 (10:59 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 3 Aug 2011 08:59:56 +0000 (10:59 +0200)
hal is not developed anymore and nobody is using the plugin nowadays.

configure.ac
ext/Makefile.am
ext/hal/Makefile.am [deleted file]
ext/hal/gsthalaudiosink.c [deleted file]
ext/hal/gsthalaudiosink.h [deleted file]
ext/hal/gsthalaudiosrc.c [deleted file]
ext/hal/gsthalaudiosrc.h [deleted file]
ext/hal/gsthalelements.c [deleted file]
ext/hal/gsthalelements.h [deleted file]
ext/hal/hal.c [deleted file]
ext/hal/hal.h [deleted file]

index 0caa692..c89c40b 100644 (file)
@@ -315,7 +315,7 @@ dnl Make sure you have a space before and after all plugins
 GST_PLUGINS_NONPORTED=" deinterlace flx  goom goom2k1 icydemux id3demux \
  imagefreeze interleave isomp4 law matroska monoscope shapewipe smpte \
  videobox videocrop videomixer \
- annodex apetag cairo dv1394 flac gdk_pixbuf hal jpeg libdv libpng \
+ annodex apetag cairo dv1394 flac gdk_pixbuf jpeg libdv libpng \
  oss oss4 shout2 \
  soup taglib wavpack "
 AC_SUBST(GST_PLUGINS_NONPORTED)
@@ -741,12 +741,6 @@ AG_GST_CHECK_FEATURE(GDK_PIXBUF, [GDK pixbuf], gdkpixbuf, [
   AG_GST_PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= 2.8.0)
 ])
 
-dnl *** HAL ***
-translit(dnm, m, l) AM_CONDITIONAL(USE_HAL, true)
-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, [
@@ -997,7 +991,6 @@ AM_CONDITIONAL(USE_DV1394, false)
 AM_CONDITIONAL(USE_FLAC, 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)
@@ -1132,7 +1125,6 @@ ext/cairo/Makefile
 ext/dv/Makefile
 ext/flac/Makefile
 ext/gdk_pixbuf/Makefile
-ext/hal/Makefile
 ext/jack/Makefile
 ext/jpeg/Makefile
 ext/libcaca/Makefile
index b1a9416..791fe00 100644 (file)
@@ -28,12 +28,6 @@ else
 GDK_PIXBUF_DIR =
 endif
 
-if USE_HAL
-HAL_DIR = hal
-else
-HAL_DIR =
-endif
-
 if USE_JACK
 JACK_DIR=jack
 else
@@ -126,7 +120,6 @@ SUBDIRS = \
        $(DV1394_DIR) \
        $(FLAC_DIR) \
        $(GDK_PIXBUF_DIR) \
-       $(HAL_DIR) \
        $(JACK_DIR) \
        $(JPEG_DIR) \
        $(LIBCACA_DIR) \
@@ -148,7 +141,6 @@ DIST_SUBDIRS = \
        dv \
        flac \
        gdk_pixbuf \
-       hal \
        jack \
        jpeg \
        libcaca \
diff --git a/ext/hal/Makefile.am b/ext/hal/Makefile.am
deleted file mode 100644 (file)
index 8862aeb..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-plugin_LTLIBRARIES = libgsthalelements.la
-
-libgsthalelements_la_SOURCES = \
-       gsthalaudiosink.c \
-       gsthalaudiosrc.c \
-       gsthalelements.c \
-       hal.c
-
-libgsthalelements_la_CFLAGS = $(GST_CFLAGS) $(HAL_CFLAGS)
-libgsthalelements_la_LIBADD = $(GST_LIBS) $(HAL_LIBS)
-libgsthalelements_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgsthalelements_la_LIBTOOLFLAGS = --tag=disable-static
-
-noinst_HEADERS = \
-       gsthalaudiosink.h \
-       gsthalaudiosrc.h \
-       gsthalelements.h \
-       hal.h
diff --git a/ext/hal/gsthalaudiosink.c b/ext/hal/gsthalaudiosink.c
deleted file mode 100644 (file)
index 24b29da..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/* GStreamer
- * (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * (c) 2006 Jürg Billeter <j@bitron.ch>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/**
- * SECTION:element-halaudiosink
- *
- * HalAudioSink allows access to output of sound devices by specifying the
- * corresponding persistent Unique Device Id (UDI) from the Hardware Abstraction
- * Layer (HAL) in the #GstHalAudioSink:udi property.
- * It currently always embeds alsasink or osssink as HAL doesn't support other
- * sound systems yet. You can also specify the UDI of a device that has ALSA or
- * OSS subdevices. If both are present ALSA is preferred.
- *
- * <refsect2>
- * <title>Examples</title>
- * |[
- * hal-find-by-property --key alsa.type --string playback
- * ]| list the UDIs of all your ALSA output devices
- * |[
- * gst-launch -v audiotestsrc ! halaudiosink udi=/org/freedesktop/Hal/devices/pci_8086_27d8_alsa_playback_0
- * ]| test your soundcard by playing a test signal on the specified sound device.
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "gsthalelements.h"
-#include "gsthalaudiosink.h"
-
-static void gst_hal_audio_sink_dispose (GObject * object);
-static GstStateChangeReturn
-gst_hal_audio_sink_change_state (GstElement * element,
-    GstStateChange transition);
-
-enum
-{
-  PROP_0,
-  PROP_UDI
-};
-
-GST_BOILERPLATE (GstHalAudioSink, gst_hal_audio_sink, GstBin, GST_TYPE_BIN);
-
-static void gst_hal_audio_sink_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_hal_audio_sink_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-
-static void
-gst_hal_audio_sink_base_init (gpointer klass)
-{
-  GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
-  static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
-      GST_PAD_SINK,
-      GST_PAD_ALWAYS,
-      GST_STATIC_CAPS_ANY);
-
-  gst_element_class_add_pad_template (eklass,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_set_details_simple (eklass, "HAL audio sink",
-      "Sink/Audio",
-      "Audio sink for sound device access via HAL",
-      "Jürg Billeter <j@bitron.ch>");
-}
-
-static void
-gst_hal_audio_sink_class_init (GstHalAudioSinkClass * klass)
-{
-  GObjectClass *oklass = G_OBJECT_CLASS (klass);
-  GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
-  oklass->set_property = gst_hal_audio_sink_set_property;
-  oklass->get_property = gst_hal_audio_sink_get_property;
-  oklass->dispose = gst_hal_audio_sink_dispose;
-  eklass->change_state = gst_hal_audio_sink_change_state;
-
-  g_object_class_install_property (oklass, PROP_UDI,
-      g_param_spec_string ("udi",
-          "UDI", "Unique Device Id", NULL,
-          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-}
-
-/*
- * Hack to make negotiation work.
- */
-
-static void
-gst_hal_audio_sink_reset (GstHalAudioSink * sink)
-{
-  GstPad *targetpad;
-
-  /* fakesink */
-  if (sink->kid) {
-    gst_element_set_state (sink->kid, GST_STATE_NULL);
-    gst_bin_remove (GST_BIN (sink), sink->kid);
-  }
-  sink->kid = gst_element_factory_make ("fakesink", "testsink");
-  gst_bin_add (GST_BIN (sink), sink->kid);
-
-  targetpad = gst_element_get_static_pad (sink->kid, "sink");
-  gst_ghost_pad_set_target (GST_GHOST_PAD (sink->pad), targetpad);
-  gst_object_unref (targetpad);
-}
-
-static void
-gst_hal_audio_sink_init (GstHalAudioSink * sink, GstHalAudioSinkClass * g_class)
-{
-  sink->pad = gst_ghost_pad_new_no_target ("sink", GST_PAD_SINK);
-  gst_element_add_pad (GST_ELEMENT (sink), sink->pad);
-
-  gst_hal_audio_sink_reset (sink);
-}
-
-static void
-gst_hal_audio_sink_dispose (GObject * object)
-{
-  GstHalAudioSink *sink = GST_HAL_AUDIO_SINK (object);
-
-  if (sink->udi) {
-    g_free (sink->udi);
-    sink->udi = NULL;
-  }
-
-  GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
-}
-
-static gboolean
-do_toggle_element (GstHalAudioSink * sink)
-{
-  GstPad *targetpad;
-
-  /* kill old element */
-  if (sink->kid) {
-    GST_DEBUG_OBJECT (sink, "Removing old kid");
-    gst_element_set_state (sink->kid, GST_STATE_NULL);
-    gst_bin_remove (GST_BIN (sink), sink->kid);
-    sink->kid = NULL;
-  }
-
-  GST_DEBUG_OBJECT (sink, "Creating new kid");
-  if (!sink->udi)
-    GST_INFO_OBJECT (sink, "No UDI set for device, using default one");
-
-  if (!(sink->kid = gst_hal_get_audio_sink (sink->udi))) {
-    GST_ELEMENT_ERROR (sink, LIBRARY, SETTINGS, (NULL),
-        ("Failed to render audio sink from Hal"));
-    return FALSE;
-  }
-  gst_element_set_state (sink->kid, GST_STATE (sink));
-  gst_bin_add (GST_BIN (sink), sink->kid);
-
-  /* re-attach ghostpad */
-  GST_DEBUG_OBJECT (sink, "Creating new ghostpad");
-  targetpad = gst_element_get_static_pad (sink->kid, "sink");
-  gst_ghost_pad_set_target (GST_GHOST_PAD (sink->pad), targetpad);
-  gst_object_unref (targetpad);
-  GST_DEBUG_OBJECT (sink, "done changing hal audio sink");
-
-  return TRUE;
-}
-
-static void
-gst_hal_audio_sink_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstHalAudioSink *this = GST_HAL_AUDIO_SINK (object);
-
-  GST_OBJECT_LOCK (this);
-
-  switch (prop_id) {
-    case PROP_UDI:
-      if (this->udi)
-        g_free (this->udi);
-      this->udi = g_value_dup_string (value);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-
-  GST_OBJECT_UNLOCK (this);
-}
-
-static void
-gst_hal_audio_sink_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstHalAudioSink *this = GST_HAL_AUDIO_SINK (object);
-
-  GST_OBJECT_LOCK (this);
-
-  switch (prop_id) {
-    case PROP_UDI:
-      g_value_set_string (value, this->udi);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-
-  GST_OBJECT_UNLOCK (this);
-}
-
-static GstStateChangeReturn
-gst_hal_audio_sink_change_state (GstElement * element,
-    GstStateChange transition)
-{
-  GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
-  GstHalAudioSink *sink = GST_HAL_AUDIO_SINK (element);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_NULL_TO_READY:
-      if (!do_toggle_element (sink))
-        return GST_STATE_CHANGE_FAILURE;
-      break;
-    default:
-      break;
-  }
-
-  ret = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, change_state,
-      (element, transition), GST_STATE_CHANGE_SUCCESS);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_NULL:
-      gst_hal_audio_sink_reset (sink);
-      break;
-    default:
-      break;
-  }
-
-  return ret;
-}
diff --git a/ext/hal/gsthalaudiosink.h b/ext/hal/gsthalaudiosink.h
deleted file mode 100644 (file)
index 3f07fde..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* GStreamer
- * (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * (c) 2006 Jürg Billeter <j@bitron.ch>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_HAL_AUDIO_SINK_H__
-#define __GST_HAL_AUDIO_SINK_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_HAL_AUDIO_SINK \
-  (gst_hal_audio_sink_get_type ())
-#define GST_HAL_AUDIO_SINK(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_HAL_AUDIO_SINK, \
-                               GstHalAudioSink))
-#define GST_HAL_AUDIO_SINK_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_HAL_AUDIO_SINK, \
-                            GstHalAudioSinkClass))
-#define GST_IS_HAL_AUDIO_SINK(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_HAL_AUDIO_SINK))
-#define GST_IS_HAL_AUDIO_SINK_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_HAL_AUDIO_SINK))
-
-typedef struct _GstHalAudioSink {
-  GstBin parent;
-
-  /* explicit pointers to stuff used */
-  gchar *udi;
-  GstElement *kid;
-  GstPad *pad;
-} GstHalAudioSink;
-
-typedef struct _GstHalAudioSinkClass {
-  GstBinClass parent_class;
-} GstHalAudioSinkClass;
-
-GType   gst_hal_audio_sink_get_type   (void);
-
-G_END_DECLS
-
-#endif /* __GST_HAL_AUDIO_SINK_H__ */
diff --git a/ext/hal/gsthalaudiosrc.c b/ext/hal/gsthalaudiosrc.c
deleted file mode 100644 (file)
index de87848..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-/* GStreamer
- * (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * (c) 2005 Tim-Philipp Müller <tim centricular net>
- * (c) 2006 Jürg Billeter <j@bitron.ch>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/**
- * SECTION:element-halaudiosrc
- *
- * HalAudioSrc allows access to input of sound devices by specifying the
- * corresponding persistent Unique Device Id (UDI) from the Hardware Abstraction
- * Layer (HAL) in the #GstHalAudioSrc:udi property.
- * It currently always embeds alsasrc or osssrc as HAL doesn't support other
- * sound systems yet. You can also specify the UDI of a device that has ALSA or
- * OSS subdevices. If both are present ALSA is preferred.
- *
- * <refsect2>
- * <title>Examples</title>
- * |[
- * hal-find-by-property --key alsa.type --string capture
- * ]| list the UDIs of all your ALSA input devices
- * |[
- * gst-launch -v halaudiosrc udi=/org/freedesktop/Hal/devices/pci_8086_27d8_alsa_capture_0 ! autoaudiosink
- * ]| You should now hear yourself with a small delay if you have a microphone
- * connected to the specified sound device.
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "gsthalelements.h"
-#include "gsthalaudiosrc.h"
-
-static void gst_hal_audio_src_dispose (GObject * object);
-static GstStateChangeReturn
-gst_hal_audio_src_change_state (GstElement * element,
-    GstStateChange transition);
-
-enum
-{
-  PROP_0,
-  PROP_UDI
-};
-
-GST_BOILERPLATE (GstHalAudioSrc, gst_hal_audio_src, GstBin, GST_TYPE_BIN);
-
-static void gst_hal_audio_src_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_hal_audio_src_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-
-static void
-gst_hal_audio_src_base_init (gpointer klass)
-{
-  GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
-  static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
-      GST_PAD_SRC,
-      GST_PAD_ALWAYS,
-      GST_STATIC_CAPS_ANY);
-
-  gst_element_class_add_pad_template (eklass,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_set_details_simple (eklass, "HAL audio source",
-      "Source/Audio",
-      "Audio source for sound device access via HAL",
-      "Jürg Billeter <j@bitron.ch>");
-}
-
-static void
-gst_hal_audio_src_class_init (GstHalAudioSrcClass * klass)
-{
-  GObjectClass *oklass = G_OBJECT_CLASS (klass);
-  GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
-  oklass->set_property = gst_hal_audio_src_set_property;
-  oklass->get_property = gst_hal_audio_src_get_property;
-  oklass->dispose = gst_hal_audio_src_dispose;
-  eklass->change_state = gst_hal_audio_src_change_state;
-
-  g_object_class_install_property (oklass, PROP_UDI,
-      g_param_spec_string ("udi",
-          "UDI", "Unique Device Id", NULL,
-          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-}
-
-/*
- * Hack to make negotiation work.
- */
-
-static void
-gst_hal_audio_src_reset (GstHalAudioSrc * src)
-{
-  GstPad *targetpad;
-
-  /* fakesrc */
-  if (src->kid) {
-    gst_element_set_state (src->kid, GST_STATE_NULL);
-    gst_bin_remove (GST_BIN (src), src->kid);
-  }
-  src->kid = gst_element_factory_make ("fakesrc", "testsrc");
-  gst_bin_add (GST_BIN (src), src->kid);
-
-  targetpad = gst_element_get_static_pad (src->kid, "src");
-  gst_ghost_pad_set_target (GST_GHOST_PAD (src->pad), targetpad);
-  gst_object_unref (targetpad);
-}
-
-static void
-gst_hal_audio_src_init (GstHalAudioSrc * src, GstHalAudioSrcClass * g_class)
-{
-  src->pad = gst_ghost_pad_new_no_target ("src", GST_PAD_SRC);
-  gst_element_add_pad (GST_ELEMENT (src), src->pad);
-
-  gst_hal_audio_src_reset (src);
-}
-
-static void
-gst_hal_audio_src_dispose (GObject * object)
-{
-  GstHalAudioSrc *src = GST_HAL_AUDIO_SRC (object);
-
-  if (src->udi) {
-    g_free (src->udi);
-    src->udi = NULL;
-  }
-
-  GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
-}
-
-static gboolean
-do_toggle_element (GstHalAudioSrc * src)
-{
-  GstPad *targetpad;
-
-  /* kill old element */
-  if (src->kid) {
-    GST_DEBUG_OBJECT (src, "Removing old kid");
-    gst_element_set_state (src->kid, GST_STATE_NULL);
-    gst_bin_remove (GST_BIN (src), src->kid);
-    src->kid = NULL;
-  }
-
-  GST_DEBUG_OBJECT (src, "Creating new kid");
-  if (!src->udi)
-    GST_INFO_OBJECT (src, "No UDI set for device, using default one");
-
-  if (!(src->kid = gst_hal_get_audio_src (src->udi))) {
-    GST_ELEMENT_ERROR (src, LIBRARY, SETTINGS, (NULL),
-        ("Failed to render audio source from Hal"));
-    return FALSE;
-  }
-  gst_element_set_state (src->kid, GST_STATE (src));
-  gst_bin_add (GST_BIN (src), src->kid);
-
-  /* re-attach ghostpad */
-  GST_DEBUG_OBJECT (src, "Creating new ghostpad");
-  targetpad = gst_element_get_static_pad (src->kid, "src");
-  gst_ghost_pad_set_target (GST_GHOST_PAD (src->pad), targetpad);
-  gst_object_unref (targetpad);
-  GST_DEBUG_OBJECT (src, "done changing hal audio source");
-
-  return TRUE;
-}
-
-static void
-gst_hal_audio_src_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstHalAudioSrc *this = GST_HAL_AUDIO_SRC (object);
-
-  GST_OBJECT_LOCK (this);
-
-  switch (prop_id) {
-    case PROP_UDI:
-      if (this->udi)
-        g_free (this->udi);
-      this->udi = g_value_dup_string (value);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-
-  GST_OBJECT_UNLOCK (this);
-}
-
-static void
-gst_hal_audio_src_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstHalAudioSrc *this = GST_HAL_AUDIO_SRC (object);
-
-  GST_OBJECT_LOCK (this);
-
-  switch (prop_id) {
-    case PROP_UDI:
-      g_value_set_string (value, this->udi);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-
-  GST_OBJECT_UNLOCK (this);
-}
-
-static GstStateChangeReturn
-gst_hal_audio_src_change_state (GstElement * element, GstStateChange transition)
-{
-  GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
-  GstHalAudioSrc *src = GST_HAL_AUDIO_SRC (element);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_NULL_TO_READY:
-      if (!do_toggle_element (src))
-        return GST_STATE_CHANGE_FAILURE;
-      break;
-    default:
-      break;
-  }
-
-  ret = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, change_state,
-      (element, transition), GST_STATE_CHANGE_SUCCESS);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_NULL:
-      gst_hal_audio_src_reset (src);
-      break;
-    default:
-      break;
-  }
-
-  return ret;
-}
diff --git a/ext/hal/gsthalaudiosrc.h b/ext/hal/gsthalaudiosrc.h
deleted file mode 100644 (file)
index 7afdadd..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/* GStreamer
- * (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * (c) 2005 Tim-Philipp Müller <tim centricular net>
- * (c) 2006 Jürg Billeter <j@bitron.ch>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_HAL_AUDIO_SRC_H__
-#define __GST_HAL_AUDIO_SRC_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_HAL_AUDIO_SRC            (gst_hal_audio_src_get_type ())
-#define GST_HAL_AUDIO_SRC(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_HAL_AUDIO_SRC, GstHalAudioSrc))
-#define GST_HAL_AUDIO_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_HAL_AUDIO_SRC, GstHalAudioSrcClass))
-#define GST_IS_HAL_AUDIO_SRC(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_HAL_AUDIO_SRC))
-#define GST_IS_HAL_AUDIO_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_HAL_AUDIO_SRC))
-
-typedef struct _GstHalAudioSrc {
-  GstBin parent;
-
-  /* explicit pointers to stuff used */
-  gchar *udi;
-  GstElement *kid;
-  GstPad *pad;
-} GstHalAudioSrc;
-
-typedef struct _GstHalAudioSrcClass {
-  GstBinClass parent_class;
-} GstHalAudioSrcClass;
-
-GType   gst_hal_audio_src_get_type   (void);
-
-G_END_DECLS
-
-#endif /* __GST_HAL_AUDIO_SRC_H__ */
diff --git a/ext/hal/gsthalelements.c b/ext/hal/gsthalelements.c
deleted file mode 100644 (file)
index dd5122a..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/* GStreamer
- * (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * (c) 2006 Jürg Billeter <j@bitron.ch>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gst/gst.h>
-
-#include "gsthalelements.h"
-
-#include "gsthalaudiosink.h"
-#include "gsthalaudiosrc.h"
-
-GST_DEBUG_CATEGORY (hal_debug);
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
-  GST_DEBUG_CATEGORY_INIT (hal_debug, "hal", 0,
-      "HAL/GStreamer audio input/output wrapper elements");
-
-  if (!gst_element_register (plugin, "halaudiosink",
-          GST_RANK_NONE, GST_TYPE_HAL_AUDIO_SINK) ||
-      !gst_element_register (plugin, "halaudiosrc",
-          GST_RANK_NONE, GST_TYPE_HAL_AUDIO_SRC)) {
-    return FALSE;
-  }
-
-  return TRUE;
-}
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
-    GST_VERSION_MINOR,
-    "halelements",
-    "elements wrapping the GStreamer/HAL audio input/output devices",
-    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/hal/gsthalelements.h b/ext/hal/gsthalelements.h
deleted file mode 100644 (file)
index 6a9462f..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/* GStreamer
- * (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * (c) 2006 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_HAL_ELEMENTS_H__
-#define __GST_HAL_ELEMENTS_H__
-
-#include <hal.h>
-
-GST_DEBUG_CATEGORY_EXTERN (hal_debug);
-#define GST_CAT_DEFAULT hal_debug
-
-#endif /* __GST_HAL_ELEMENTS_H__ */
diff --git a/ext/hal/hal.c b/ext/hal/hal.c
deleted file mode 100644 (file)
index 6957f56..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-/* GStreamer
- * Copyright (C) <2002> Thomas Vander Stichele <thomas@apestaart.org>
- * Copyright (C) <2006> Jürg Billeter <j@bitron.ch>
- * Copyright (C) <2007> Sebastian Dröge <slomo@circular-chaos.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * this library handles interaction with Hal
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-#include <glib.h>
-#include "hal.h"
-
-GST_DEBUG_CATEGORY_EXTERN (hal_debug);
-
-#define GST_CAT_DEFAULT hal_debug
-
-/* compat for older libhal */
-#ifndef LIBHAL_FREE_DBUS_ERROR
-#define LIBHAL_FREE_DBUS_ERROR(e) dbus_error_free (e)
-#endif
-
-/*
- * gst_hal_get_alsa_element:
- * @ctx: a #LibHalContext which should be used for querying HAL.
- * @udi: a #gchar corresponding to the UDI you want to get.
- * @device_type: a #GstHalDeviceType specifying the wanted device type.
- *
- * Get Hal UDI @udi's string value.
- *
- * Returns: a newly allocated #gchar string containing the appropriate pipeline
- * for UDI @udi, or NULL in the case of an error..
- */
-static gchar *
-gst_hal_get_alsa_element (LibHalContext * ctx, const gchar * udi,
-    GstHalDeviceType device_type)
-{
-  char *type, *string = NULL;
-  const char *element = NULL;
-  DBusError error;
-
-  dbus_error_init (&error);
-
-  if (!libhal_device_query_capability (ctx, udi, "alsa", &error)) {
-    if (dbus_error_is_set (&error)) {
-      GST_DEBUG ("Failed querying %s for alsa capability: %s: %s",
-          udi, error.name, error.message);
-      LIBHAL_FREE_DBUS_ERROR (&error);
-    } else {
-      GST_DEBUG ("UDI %s has no alsa capability", udi);
-    }
-    return NULL;
-  }
-
-  type = libhal_device_get_property_string (ctx, udi, "alsa.type", &error);
-
-  if (dbus_error_is_set (&error)) {
-    GST_DEBUG ("UDI %s has alsa capabilities but no alsa.type property: %s, %s",
-        udi, error.name, error.message);
-    LIBHAL_FREE_DBUS_ERROR (&error);
-    return NULL;
-  } else if (!type) {
-    GST_DEBUG ("UDI %s has empty alsa.type property", udi);
-    return NULL;
-  }
-
-  if (strcmp (type, "playback") == 0 && device_type == GST_HAL_AUDIOSINK)
-    element = "alsasink";
-  else if (strcmp (type, "capture") == 0 && device_type == GST_HAL_AUDIOSRC)
-    element = "alsasrc";
-
-  libhal_free_string (type);
-
-  if (element) {
-    int card, device;
-
-    card = libhal_device_get_property_int (ctx, udi, "alsa.card", &error);
-    if (dbus_error_is_set (&error)) {
-      GST_DEBUG ("UDI %s has no alsa.card property: %s: %s", udi, error.name,
-          error.message);
-      LIBHAL_FREE_DBUS_ERROR (&error);
-      return NULL;
-    } else if (card == -1) {
-      GST_DEBUG ("UDI %s has no alsa.card property", udi);
-      return NULL;
-    }
-
-    device = libhal_device_get_property_int (ctx, udi, "alsa.device", &error);
-    if (dbus_error_is_set (&error)) {
-      GST_DEBUG ("UDI %s has no alsa.device property: %s: %s", udi, error.name,
-          error.message);
-      LIBHAL_FREE_DBUS_ERROR (&error);
-      return NULL;
-    } else if (device == -1) {
-      GST_DEBUG ("UDI %s has no alsa.device property", udi);
-      return NULL;
-    }
-
-    /* This is a bit dodgy, since it makes lots of assumptions about the way
-     * alsa is set up. In any case, only munge the device string for playback */
-    if (strcmp (element, "alsasink") == 0 && device == 0) {
-      /* handle default device specially to use
-       * dmix, dsnoop, and softvol if appropriate */
-      string = g_strdup_printf ("%s device=default:%d", element, card);
-    } else {
-      string =
-          g_strdup_printf ("%s device=plughw:%d,%d", element, card, device);
-    }
-  }
-
-  return string;
-}
-
-/*
- * gst_hal_get_oss_element:
- * @ctx: a #LibHalContext which should be used for querying HAL.
- * @udi: a #gchar corresponding to the UDI you want to get.
- * @device_type: a #GstHalDeviceType specifying the wanted device type.
- *
- * Get Hal UDI @udi's string value.
- *
- * Returns: a newly allocated #gchar string containing the appropriate pipeline
- * for UDI @udi, or NULL in the case of an error..
- */
-static gchar *
-gst_hal_get_oss_element (LibHalContext * ctx, const gchar * udi,
-    GstHalDeviceType device_type)
-{
-  char *type, *string = NULL;
-  const char *element = NULL;
-  DBusError error;
-
-  dbus_error_init (&error);
-
-  if (!libhal_device_query_capability (ctx, udi, "oss", &error)) {
-    if (dbus_error_is_set (&error)) {
-      GST_DEBUG ("Failed querying %s for oss capability: %s: %s", udi,
-          error.name, error.message);
-      LIBHAL_FREE_DBUS_ERROR (&error);
-    } else {
-      GST_DEBUG ("UDI %s has no oss capability", udi);
-    }
-    return NULL;
-  }
-
-  type = libhal_device_get_property_string (ctx, udi, "oss.type", &error);
-  if (dbus_error_is_set (&error)) {
-    GST_DEBUG ("UDI %s has oss capabilities but no oss.type property: %s, %s",
-        udi, error.name, error.message);
-    LIBHAL_FREE_DBUS_ERROR (&error);
-    return NULL;
-  } else if (!type) {
-    GST_DEBUG ("UDI %s has empty oss.type property", udi);
-    return NULL;
-  }
-
-  if (strcmp (type, "pcm") == 0) {
-    if (device_type == GST_HAL_AUDIOSINK)
-      element = "osssink";
-    else if (device_type == GST_HAL_AUDIOSRC)
-      element = "osssrc";
-  }
-  libhal_free_string (type);
-
-  if (element) {
-    char *device = NULL;
-
-    device =
-        libhal_device_get_property_string (ctx, udi, "oss.device_file", &error);
-    if (dbus_error_is_set (&error)) {
-      GST_DEBUG
-          ("UDI %s has oss capabilities but no oss.device_file property: %s, %s",
-          udi, error.name, error.message);
-      LIBHAL_FREE_DBUS_ERROR (&error);
-      return NULL;
-    } else if (!device) {
-      GST_DEBUG ("UDI %s has empty oss.device_file property", udi);
-      return NULL;
-    }
-
-    string = g_strdup_printf ("%s device=%s", element, device);
-    libhal_free_string (device);
-  }
-
-  return string;
-}
-
-/*
- * gst_hal_get_string:
- * @udi: a #gchar corresponding to the UDI you want to get.
- * @device_type: a #GstHalDeviceType specifying the wanted device type.
- *
- * Get Hal UDI @udi's string value.
- *
- * Returns: a newly allocated #gchar string containing the appropriate pipeline
- * for UDI @udi, or NULL in the case of an error..
- */
-static gchar *
-gst_hal_get_string (const gchar * udi, GstHalDeviceType device_type)
-{
-  DBusError error;
-  LibHalContext *ctx;
-  char *string = NULL;
-
-  /* Don't query HAL for NULL UDIs. Passing NULL as UDI to HAL gives
-   * an assertion failure in D-Bus when running with
-   * DBUS_FATAL_WARNINGS=1. */
-  if (!udi)
-    return NULL;
-
-  dbus_error_init (&error);
-
-  ctx = libhal_ctx_new ();
-  /* Should only happen on OOM */
-  g_return_val_if_fail (ctx != NULL, NULL);
-
-  if (!libhal_ctx_set_dbus_connection (ctx, dbus_bus_get (DBUS_BUS_SYSTEM,
-              &error))) {
-    GST_DEBUG ("Unable to set DBus connection: %s: %s", error.name,
-        error.message);
-    LIBHAL_FREE_DBUS_ERROR (&error);
-    goto ctx_free;
-  }
-
-  if (!libhal_ctx_init (ctx, &error)) {
-    GST_DEBUG ("Unable to set init HAL context: %s: %s", error.name,
-        error.message);
-    LIBHAL_FREE_DBUS_ERROR (&error);
-    goto ctx_free;
-  }
-
-  /* Now first check if UDI is an alsa device, then oss and then
-   * check the childs of the given device. If there are alsa and oss
-   * children the first alsa one is used. */
-
-  string = gst_hal_get_alsa_element (ctx, udi, device_type);
-
-  if (!string)
-    string = gst_hal_get_oss_element (ctx, udi, device_type);
-
-  if (!string) {
-    int num_childs;
-    char **childs = NULL;
-
-    /* now try if one of the direct subdevices supports ALSA or OSS */
-    childs =
-        libhal_manager_find_device_string_match (ctx, "info.parent", udi,
-        &num_childs, &error);
-    if (dbus_error_is_set (&error)) {
-      GST_DEBUG ("Unable to retrieve childs of %s: %s: %s", udi, error.name,
-          error.message);
-      LIBHAL_FREE_DBUS_ERROR (&error);
-      goto ctx_shutdown;
-    }
-
-    if (childs && num_childs > 0) {
-      int i;
-      char *alsa_string = NULL, *oss_string = NULL;
-
-      for (i = 0; i < num_childs && !alsa_string; i++) {
-        alsa_string = gst_hal_get_alsa_element (ctx, childs[i], device_type);
-
-        if (!oss_string)
-          oss_string = gst_hal_get_oss_element (ctx, childs[i], device_type);
-      }
-
-      if (alsa_string) {
-        string = alsa_string;
-        g_free (oss_string);
-      } else if (oss_string) {
-        string = oss_string;
-      }
-    }
-    libhal_free_string_array (childs);
-  }
-
-ctx_shutdown:
-  if (!libhal_ctx_shutdown (ctx, &error)) {
-    GST_DEBUG ("Closing connection to HAL failed: %s: %s", error.name,
-        error.message);
-    LIBHAL_FREE_DBUS_ERROR (&error);
-  }
-
-ctx_free:
-  libhal_ctx_free (ctx);
-
-  if (string == NULL) {
-    GST_WARNING ("Problem finding a HAL audio device for udi %s", udi);
-  } else {
-    GST_INFO ("Using %s", string);
-  }
-
-  return string;
-}
-
-/* external functions */
-
-/**
- * gst_hal_render_bin_from_udi:
- * @udi: a #gchar string corresponding to a Hal UDI.
- *
- * Render bin from Hal UDI @udi.
- *
- * Returns: a #GstElement containing the rendered bin.
- */
-GstElement *
-gst_hal_render_bin_from_udi (const gchar * udi, GstHalDeviceType type)
-{
-  GstElement *bin = NULL;
-  gchar *value;
-
-  value = gst_hal_get_string (udi, type);
-  if (value)
-    bin = gst_parse_bin_from_description (value, TRUE, NULL);
-  g_free (value);
-  return bin;
-}
-
-/**
- * gst_hal_get_audio_sink:
- * @udi: a #gchar string corresponding to a Hal UDI.
- *
- * Render audio output bin from GStreamer Hal UDI.
- * If no device with the specified UDI exists or @udi is NULL,
- * the default audio sink for the  platform is used
- * (typically alsasink, osssink or sunaudiosink).
- *
- * Returns: a #GstElement containing the audio output bin, or NULL if
- * everything failed.
- */
-GstElement *
-gst_hal_get_audio_sink (const gchar * udi)
-{
-  GstElement *ret = NULL;
-
-  if (udi)
-    ret = gst_hal_render_bin_from_udi (udi, GST_HAL_AUDIOSINK);
-
-  if (!ret) {
-    ret = gst_element_factory_make (DEFAULT_AUDIOSINK, NULL);
-
-    if (!ret)
-      GST_ERROR ("Hal audio sink and %s don't work", DEFAULT_AUDIOSINK);
-  }
-
-  return ret;
-}
-
-/**
- * gst_hal_get_audio_src:
- * @udi: a #gchar string corresponding to a Hal UDI.
- *
- * Render audio acquisition bin from GStreamer Hal UDI.
- * If no device with the specified UDI exists or @udi is NULL,
- * the default audio source for the  plaform is used
- * (typically alsasrc, osssrc or sunaudiosrc).
- *
- * Returns: a #GstElement containing the audio source bin, or NULL if
- * everything failed.
- */
-GstElement *
-gst_hal_get_audio_src (const gchar * udi)
-{
-  GstElement *ret = NULL;
-
-  if (udi)
-    ret = gst_hal_render_bin_from_udi (udi, GST_HAL_AUDIOSRC);
-
-  if (!ret) {
-    ret = gst_element_factory_make (DEFAULT_AUDIOSRC, NULL);
-
-    if (!ret)
-      GST_ERROR ("Hal audio src and %s don't work", DEFAULT_AUDIOSRC);
-  }
-
-  return ret;
-}
diff --git a/ext/hal/hal.h b/ext/hal/hal.h
deleted file mode 100644 (file)
index 9cc5aed..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* GStreamer
- * Copyright (C) <2002> Thomas Vander Stichele <thomas@apestaart.org>
- * Copyright (C) <2006> Jürg Billeter <j@bitron.ch>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef GST_HAL_H
-#define GST_HAL_H
-
-/*
- * this library handles interaction with Hal
- */
-
-#include <gst/gst.h>
-#include <dbus/dbus.h>
-#include <libhal.h>
-
-G_BEGIN_DECLS
-
-typedef enum
-{
-  GST_HAL_AUDIOSINK,
-  GST_HAL_AUDIOSRC
-} GstHalDeviceType;
-
-GstElement *gst_hal_render_bin_from_udi (const gchar * udi,
-    GstHalDeviceType type);
-
-GstElement *gst_hal_get_audio_sink (const gchar * udi);
-GstElement *gst_hal_get_audio_src (const gchar * udi);
-
-G_END_DECLS
-
-#endif /* GST_HAL_H */