diff options
author | David Schleef <ds@schleef.org> | 2003-07-15 07:52:10 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2003-07-15 07:52:10 +0000 |
commit | 803a18a70a622322574de4ba53c81a952f0528ab (patch) | |
tree | 8256742a79ce98201bf1f959aed038ff4238c5e4 /ext/esd | |
parent | 0b1a3a357975e8bbe2281902e5c6f01000aa29dc (diff) |
Merge esdmon and esdsink elements into one plugin
Original commit message from CVS:
Merge esdmon and esdsink elements into one plugin
Diffstat (limited to 'ext/esd')
-rw-r--r-- | ext/esd/Makefile.am | 15 | ||||
-rw-r--r-- | ext/esd/esdmon.c | 56 | ||||
-rw-r--r-- | ext/esd/esdmon.h | 78 | ||||
-rw-r--r-- | ext/esd/esdsink.c | 14 | ||||
-rw-r--r-- | ext/esd/esdsink.h | 1 | ||||
-rw-r--r-- | ext/esd/gstesd.c | 48 |
6 files changed, 139 insertions, 73 deletions
diff --git a/ext/esd/Makefile.am b/ext/esd/Makefile.am index 90e16a8f..f62d215a 100644 --- a/ext/esd/Makefile.am +++ b/ext/esd/Makefile.am @@ -1,16 +1,11 @@ plugindir = $(libdir)/gstreamer-@GST_MAJORMINOR@ -plugin_LTLIBRARIES = libgstesdsink.la libgstesdmon.la +plugin_LTLIBRARIES = libgstesd.la -libgstesdsink_la_SOURCES = esdsink.c -libgstesdsink_la_CFLAGS = $(GST_CFLAGS) $(ESD_CFLAGS) -libgstesdsink_la_LIBADD = $(ESD_LIBS) -libgstesdsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) - -libgstesdmon_la_SOURCES = esdmon.c -libgstesdmon_la_CFLAGS = $(GST_CFLAGS) $(ESD_CFLAGS) -libgstesdmon_la_LIBADD = $(ESD_LIBS) -libgstesdmon_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) +libgstesd_la_SOURCES = esdsink.c esdmon.c gstesd.c +libgstesd_la_CFLAGS = $(GST_CFLAGS) $(ESD_CFLAGS) +libgstesd_la_LIBADD = $(ESD_LIBS) +libgstesd_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) noinst_HEADERS = esdsink.h EXTRA_DIST = README diff --git a/ext/esd/esdmon.c b/ext/esd/esdmon.c index 851ffd8c..ae8d4fd4 100644 --- a/ext/esd/esdmon.c +++ b/ext/esd/esdmon.c @@ -23,53 +23,10 @@ #ifdef HAVE_CONFIG_H #include "config.h" #endif -#include <gst/gst.h> +#include "esdmon.h" #include <esd.h> #include <unistd.h> -#define GST_TYPE_ESDMON \ - (gst_esdmon_get_type()) -#define GST_ESDMON(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ESDMON,GstEsdmon)) -#define GST_ESDMON_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ESDMON,GstEsdmon)) -#define GST_IS_ESDMON(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ESDMON)) -#define GST_IS_ESDMON_CLASS(obj) \ - (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDMON)) - -typedef enum { - GST_ESDMON_OPEN = GST_ELEMENT_FLAG_LAST, - GST_ESDMON_FLAG_LAST = GST_ELEMENT_FLAG_LAST+2, -} GstEsdSrcFlags; - -typedef struct _GstEsdmon GstEsdmon; -typedef struct _GstEsdmonClass GstEsdmonClass; - -struct _GstEsdmon { - GstElement element; - - GstPad *srcpad; - - gchar* host; - - int fd; - - gint depth; - gint channels; - gint frequency; - - guint64 basetime; - guint64 samples_since_basetime; - guint64 curoffset; - guint64 bytes_per_read; -}; - -struct _GstEsdmonClass { - GstElementClass parent_class; -}; - -GType gst_esdmon_get_type(void); /* elementfactory information */ static GstElementDetails esdmon_details = { @@ -405,8 +362,8 @@ gst_esdmon_get_property (GObject *object, guint prop_id, GValue *value, GParamSp } } -static gboolean -plugin_init (GModule *module, GstPlugin *plugin) +gboolean +gst_esdmon_factory_init (GstPlugin *plugin) { GstElementFactory *factory; @@ -421,13 +378,6 @@ plugin_init (GModule *module, GstPlugin *plugin) return TRUE; } -GstPluginDesc plugin_desc = { - GST_VERSION_MAJOR, - GST_VERSION_MINOR, - "esdmon", - plugin_init -}; - static gboolean gst_esdmon_open_audio (GstEsdmon *src) { diff --git a/ext/esd/esdmon.h b/ext/esd/esdmon.h new file mode 100644 index 00000000..f50e6544 --- /dev/null +++ b/ext/esd/esdmon.h @@ -0,0 +1,78 @@ +/* GStreamer + * Copyright (C) <2001,2002> Richard Boulton <richard-gst@tartarus.org> + * + * Based on example.c: + * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> + * + * 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_ESDMON_H__ +#define __GST_ESDMON_H__ + +#include <gst/gst.h> + +G_BEGIN_DECLS + +#define GST_TYPE_ESDMON \ + (gst_esdmon_get_type()) +#define GST_ESDMON(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ESDMON,GstEsdmon)) +#define GST_ESDMON_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ESDMON,GstEsdmon)) +#define GST_IS_ESDMON(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ESDMON)) +#define GST_IS_ESDMON_CLASS(obj) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDMON)) + +typedef enum { + GST_ESDMON_OPEN = GST_ELEMENT_FLAG_LAST, + GST_ESDMON_FLAG_LAST = GST_ELEMENT_FLAG_LAST+2, +} GstEsdSrcFlags; + +typedef struct _GstEsdmon GstEsdmon; +typedef struct _GstEsdmonClass GstEsdmonClass; + +struct _GstEsdmon { + GstElement element; + + GstPad *srcpad; + + gchar* host; + + int fd; + + gint depth; + gint channels; + gint frequency; + + guint64 basetime; + guint64 samples_since_basetime; + guint64 curoffset; + guint64 bytes_per_read; +}; + +struct _GstEsdmonClass { + GstElementClass parent_class; +}; + +GType gst_esdmon_get_type(void); +gboolean gst_esdmon_factory_init(GstPlugin *plugin); + +G_END_DECLS + +#endif /* __GST_ESDMON_H__ */ + diff --git a/ext/esd/esdsink.c b/ext/esd/esdsink.c index 54cb2833..3d985b5b 100644 --- a/ext/esd/esdsink.c +++ b/ext/esd/esdsink.c @@ -317,8 +317,8 @@ gst_esdsink_get_property (GObject *object, guint prop_id, GValue *value, GParamS } } -static gboolean -plugin_init (GModule *module, GstPlugin *plugin) +gboolean +gst_esdsink_factory_init (GstPlugin *plugin) { GstElementFactory *factory; @@ -326,20 +326,14 @@ plugin_init (GModule *module, GstPlugin *plugin) &esdsink_details); g_return_val_if_fail(factory != NULL, FALSE); - gst_element_factory_add_pad_template(factory, GST_PAD_TEMPLATE_GET (sink_factory)); + gst_element_factory_add_pad_template(factory, + GST_PAD_TEMPLATE_GET (sink_factory)); gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory)); return TRUE; } -GstPluginDesc plugin_desc = { - GST_VERSION_MAJOR, - GST_VERSION_MINOR, - "esdsink", - plugin_init -}; - static gboolean gst_esdsink_open_audio (GstEsdsink *sink) { diff --git a/ext/esd/esdsink.h b/ext/esd/esdsink.h index 458f3095..c418386e 100644 --- a/ext/esd/esdsink.h +++ b/ext/esd/esdsink.h @@ -61,6 +61,7 @@ struct _GstEsdsinkClass { }; GType gst_esdsink_get_type(void); +gboolean gst_esdsink_factory_init (GstPlugin *plugin); G_END_DECLS diff --git a/ext/esd/gstesd.c b/ext/esd/gstesd.c new file mode 100644 index 00000000..3f016323 --- /dev/null +++ b/ext/esd/gstesd.c @@ -0,0 +1,48 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> + * Copyright (C) <2003> David A. Schleef <ds@schleef.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. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "esdsink.h" +#include "esdmon.h" + + +static gboolean +plugin_init (GModule *module, GstPlugin *plugin) +{ + gboolean ret; + + ret = gst_esdsink_factory_init(plugin); + if(ret == FALSE) return FALSE; + + ret = gst_esdmon_factory_init(plugin); + if(ret == FALSE) return FALSE; + + return TRUE; +} + +GstPluginDesc plugin_desc = { + GST_VERSION_MAJOR, + GST_VERSION_MINOR, + "esdsink", + plugin_init +}; + |