From: Stefan Kost Date: Sun, 27 Aug 2006 17:14:06 +0000 (+0000) Subject: Rename again (audiofxgood -> audiofx). X-Git-Tag: 1.19.3~509^2~12497 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3b4f4554a6e3db3f072ce385db35ee97abf79e9f;p=platform%2Fupstream%2Fgstreamer.git Rename again (audiofxgood -> audiofx). Original commit message from CVS: * configure.ac: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-audiofxgood.xml: * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: * gst/audiofxgood/.cvsignore: * gst/audiofxgood/Makefile.am: * gst/audiofxgood/audiofx.c: * gst/audiofxgood/audiopanorama.c: * gst/audiofxgood/audiopanorama.h: Rename again (audiofxgood -> audiofx). --- diff --git a/ChangeLog b/ChangeLog index 687a424..ddf019d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,20 @@ 2006-08-27 Stefan Kost + * configure.ac: + * docs/plugins/gst-plugins-good-plugins-docs.sgml: + * docs/plugins/inspect/plugin-audiofx.xml: + * docs/plugins/inspect/plugin-audiofxgood.xml: + * gst/audiofx/Makefile.am: + * gst/audiofx/audiofx.c: + * gst/audiofxgood/.cvsignore: + * gst/audiofxgood/Makefile.am: + * gst/audiofxgood/audiofx.c: + * gst/audiofxgood/audiopanorama.c: + * gst/audiofxgood/audiopanorama.h: + Rename again (audiofxgood -> audiofx). + +2006-08-27 Stefan Kost + * gst/avi/gstavidemux.c: (gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan): Initialze variables. diff --git a/configure.ac b/configure.ac index faef28d..630f470 100644 --- a/configure.ac +++ b/configure.ac @@ -80,7 +80,7 @@ GST_PLUGINS_ALL="\ videofilter \ alpha \ apetag \ - audiofxgood \ + audiofx \ auparse \ autodetect \ avi \ @@ -761,7 +761,7 @@ Makefile gst/Makefile gst/alpha/Makefile gst/apetag/Makefile -gst/audiofxgood/Makefile +gst/audiofx/Makefile gst/auparse/Makefile gst/autodetect/Makefile gst/avi/Makefile diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml index 2182a6d..2612624 100644 --- a/docs/plugins/gst-plugins-good-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml @@ -64,7 +64,7 @@ - + diff --git a/docs/plugins/inspect/plugin-audiofxgood.xml b/docs/plugins/inspect/plugin-audiofx.xml similarity index 77% rename from docs/plugins/inspect/plugin-audiofxgood.xml rename to docs/plugins/inspect/plugin-audiofx.xml index 33f6e45..17cb427 100644 --- a/docs/plugins/inspect/plugin-audiofxgood.xml +++ b/docs/plugins/inspect/plugin-audiofx.xml @@ -1,8 +1,8 @@ - audiofxgood + audiofx Audio effects plugin - ../../gst/audiofxgood/.libs/libgstaudiofxgood.so - libgstaudiofxgood.so + ../../gst/audiofx/.libs/libgstaudiofx.so + libgstaudiofx.so 0.10.4.1 LGPL gst-plugins-good diff --git a/gst/audiofx/Makefile.am b/gst/audiofx/Makefile.am index 34708cf..82fc9aa 100644 --- a/gst/audiofx/Makefile.am +++ b/gst/audiofx/Makefile.am @@ -1,19 +1,19 @@ # plugindir is set in configure -plugin_LTLIBRARIES = libgstaudiofxgood.la +plugin_LTLIBRARIES = libgstaudiofx.la # sources used to compile this plug-in -libgstaudiofxgood_la_SOURCES = audiofx.c\ +libgstaudiofx_la_SOURCES = audiofx.c\ audiopanorama.c # flags used to compile this plugin -libgstaudiofxgood_la_CFLAGS = $(GST_CFLAGS) \ +libgstaudiofx_la_CFLAGS = $(GST_CFLAGS) \ $(GST_BASE_CFLAGS) \ $(GST_CONTROLLER_CFLAGS) -libgstaudiofxgood_la_LIBADD = $(GST_LIBS) \ +libgstaudiofx_la_LIBADD = $(GST_LIBS) \ $(GST_BASE_LIBS) \ $(GST_CONTROLLER_LIBS) -libgstaudiofxgood_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) +libgstaudiofx_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) # headers we need but don't want installed noinst_HEADERS = audiopanorama.h diff --git a/gst/audiofx/audiofx.c b/gst/audiofx/audiofx.c index 9b0a071..907c054 100644 --- a/gst/audiofx/audiofx.c +++ b/gst/audiofx/audiofx.c @@ -44,6 +44,6 @@ plugin_init (GstPlugin * plugin) GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, - "audiofxgood", + "audiofx", "Audio effects plugin", plugin_init, VERSION, "LGPL", "GStreamer", "http://gstreamer.net/") diff --git a/gst/audiofxgood/.gitignore b/gst/audiofxgood/.gitignore deleted file mode 100644 index 799fc97..0000000 --- a/gst/audiofxgood/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.deps -.libs -*.lo -*.la -Makefile -Makefile.in diff --git a/gst/audiofxgood/Makefile.am b/gst/audiofxgood/Makefile.am deleted file mode 100644 index 34708cf..0000000 --- a/gst/audiofxgood/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ -# plugindir is set in configure - -plugin_LTLIBRARIES = libgstaudiofxgood.la - -# sources used to compile this plug-in -libgstaudiofxgood_la_SOURCES = audiofx.c\ - audiopanorama.c - -# flags used to compile this plugin -libgstaudiofxgood_la_CFLAGS = $(GST_CFLAGS) \ - $(GST_BASE_CFLAGS) \ - $(GST_CONTROLLER_CFLAGS) -libgstaudiofxgood_la_LIBADD = $(GST_LIBS) \ - $(GST_BASE_LIBS) \ - $(GST_CONTROLLER_LIBS) -libgstaudiofxgood_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) - -# headers we need but don't want installed -noinst_HEADERS = audiopanorama.h diff --git a/gst/audiofxgood/audiofx.c b/gst/audiofxgood/audiofx.c deleted file mode 100644 index 9b0a071..0000000 --- a/gst/audiofxgood/audiofx.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * GStreamer - * Copyright (C) 2006 Stefan Kost - * - * 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 -#include - -#include "audiopanorama.h" - -/* entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and pad templates - * register the features - */ -static gboolean -plugin_init (GstPlugin * plugin) -{ - /* initialize gst controller library */ - gst_controller_init (NULL, NULL); - - return gst_element_register (plugin, "audiopanorama", GST_RANK_NONE, - GST_TYPE_AUDIO_PANORAMA); -} - -GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, - GST_VERSION_MINOR, - "audiofxgood", - "Audio effects plugin", - plugin_init, VERSION, "LGPL", "GStreamer", "http://gstreamer.net/") diff --git a/gst/audiofxgood/audiopanorama.c b/gst/audiofxgood/audiopanorama.c deleted file mode 100644 index 6b9cd8c..0000000 --- a/gst/audiofxgood/audiopanorama.c +++ /dev/null @@ -1,449 +0,0 @@ -/* - * GStreamer - * Copyright (C) 2006 Stefan Kost - * - * 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:gstaudiopanorama - * @short_description: audio strereo pan effect - * - * - * Stereo panorama effect with controllable pan position. - * Example launch line - * - * - * gst-launch audiotestsrc wave=saw ! audiopanorama panorama=-100 ! alsasink - * gst-launch filesrc location="melo1.ogg" ! oggdemux ! vorbisdec ! audioconvert ! audiopanorama panorama=-100 ! alsasink - * gst-launch audiotestsrc wave=saw ! audioconvert ! audiopanorama panorama=-100 ! audioconvert ! alsasink - * - * - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#include "audiopanorama.h" - -#define GST_CAT_DEFAULT gst_audio_panorama_debug -GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); - -static const GstElementDetails element_details = -GST_ELEMENT_DETAILS ("AudioPanorama", - "Filter/Effect/Audio", - "Positions audio streams in the stereo panorama", - "Stefan Kost "); - -/* Filter signals and args */ -enum -{ - /* FILL ME */ - LAST_SIGNAL -}; - -enum -{ - PROP_0, - PROP_PANORAMA -}; - -static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("audio/x-raw-float, " - "rate = (int) [ 1, MAX ], " - "channels = (int) [ 1, 2 ], " - "endianness = (int) BYTE_ORDER, " "width = (int) 32; " - "audio/x-raw-int, " - "rate = (int) [ 1, MAX ], " - "channels = (int) [ 1, 2 ], " - "endianness = (int) BYTE_ORDER, " - "width = (int) 16, " "depth = (int) 16, " "signed = (boolean) true") - ); - -static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("audio/x-raw-float, " - "rate = (int) [ 1, MAX ], " - "channels = (int) 2, " - "endianness = (int) BYTE_ORDER, " "width = (int) 32; " - "audio/x-raw-int, " - "rate = (int) [ 1, MAX ], " - "channels = (int) 2, " - "endianness = (int) BYTE_ORDER, " - "width = (int) 16, " "depth = (int) 16, " "signed = (boolean) true") - ); - -#define DEBUG_INIT(bla) \ - GST_DEBUG_CATEGORY_INIT (gst_audio_panorama_debug, "audiopanorama", 0, "audiopanorama element"); - -GST_BOILERPLATE_FULL (GstAudioPanorama, gst_audio_panorama, GstBaseTransform, - GST_TYPE_BASE_TRANSFORM, DEBUG_INIT); - -static void gst_audio_panorama_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec); -static void gst_audio_panorama_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec); - -static gboolean gst_audio_panorama_get_unit_size (GstBaseTransform * base, - GstCaps * caps, guint * size); -static GstCaps *gst_audio_panorama_transform_caps (GstBaseTransform * base, - GstPadDirection direction, GstCaps * caps); -static gboolean gst_audio_panorama_set_caps (GstBaseTransform * base, - GstCaps * incaps, GstCaps * outcaps); - -static void gst_audio_panorama_transform_m2s_int (GstAudioPanorama * filter, - gint16 * idata, gint16 * odata, guint num_samples); -static void gst_audio_panorama_transform_s2s_int (GstAudioPanorama * filter, - gint16 * idata, gint16 * odata, guint num_samples); -static void gst_audio_panorama_transform_m2s_float (GstAudioPanorama * filter, - gfloat * idata, gfloat * odata, guint num_samples); -static void gst_audio_panorama_transform_s2s_float (GstAudioPanorama * filter, - gfloat * idata, gfloat * odata, guint num_samples); - -static GstFlowReturn gst_audio_panorama_transform (GstBaseTransform * base, - GstBuffer * inbuf, GstBuffer * outbuf); - -/* GObject vmethod implementations */ - -static void -gst_audio_panorama_base_init (gpointer klass) -{ - GstElementClass *element_class = GST_ELEMENT_CLASS (klass); - - gst_element_class_add_pad_template (element_class, - gst_static_pad_template_get (&src_template)); - gst_element_class_add_pad_template (element_class, - gst_static_pad_template_get (&sink_template)); - gst_element_class_set_details (element_class, &element_details); -} - -static void -gst_audio_panorama_class_init (GstAudioPanoramaClass * klass) -{ - GObjectClass *gobject_class; - - gobject_class = (GObjectClass *) klass; - gobject_class->set_property = gst_audio_panorama_set_property; - gobject_class->get_property = gst_audio_panorama_get_property; - - g_object_class_install_property (gobject_class, PROP_PANORAMA, - g_param_spec_float ("panorama", "Panorama", - "Position in stereo panorama (-1.0 left -> 1.0 right)", -1.0, 1.0, - 0.0, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE)); - - GST_BASE_TRANSFORM_CLASS (klass)->get_unit_size = - GST_DEBUG_FUNCPTR (gst_audio_panorama_get_unit_size); - GST_BASE_TRANSFORM_CLASS (klass)->transform_caps = - GST_DEBUG_FUNCPTR (gst_audio_panorama_transform_caps); - GST_BASE_TRANSFORM_CLASS (klass)->set_caps = - GST_DEBUG_FUNCPTR (gst_audio_panorama_set_caps); - GST_BASE_TRANSFORM_CLASS (klass)->transform = - GST_DEBUG_FUNCPTR (gst_audio_panorama_transform); -} - -static void -gst_audio_panorama_init (GstAudioPanorama * filter, - GstAudioPanoramaClass * klass) -{ - filter->panorama = 0; -} - -static void -gst_audio_panorama_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec) -{ - GstAudioPanorama *filter = GST_AUDIO_PANORAMA (object); - - switch (prop_id) { - case PROP_PANORAMA: - filter->panorama = g_value_get_float (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gst_audio_panorama_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec) -{ - GstAudioPanorama *filter = GST_AUDIO_PANORAMA (object); - - switch (prop_id) { - case PROP_PANORAMA: - g_value_set_float (value, filter->panorama); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -/* GstBaseTransform vmethod implementations */ - -static gboolean -gst_audio_panorama_get_unit_size (GstBaseTransform * base, GstCaps * caps, - guint * size) -{ - gint width, channels; - GstStructure *structure; - gboolean ret; - - g_assert (size); - - /* this works for both float and int */ - structure = gst_caps_get_structure (caps, 0); - ret = gst_structure_get_int (structure, "width", &width); - ret &= gst_structure_get_int (structure, "channels", &channels); - - *size = width * channels / 8; - - return ret; -} - -static GstCaps * -gst_audio_panorama_transform_caps (GstBaseTransform * base, - GstPadDirection direction, GstCaps * caps) -{ - GstCaps *res; - GstStructure *structure; - - /* transform caps gives one single caps so we can just replace - * the channel property with our range. */ - res = gst_caps_copy (caps); - structure = gst_caps_get_structure (res, 0); - if (direction == GST_PAD_SRC) { - GST_INFO ("allow 1-2 channels"); - gst_structure_set (structure, "channels", GST_TYPE_INT_RANGE, 1, 2, NULL); - } else { - GST_INFO ("allow 2 channels"); - gst_structure_set (structure, "channels", G_TYPE_INT, 2, NULL); - } - - return res; -} - -static gboolean -gst_audio_panorama_set_caps (GstBaseTransform * base, GstCaps * incaps, - GstCaps * outcaps) -{ - GstAudioPanorama *filter = GST_AUDIO_PANORAMA (base); - const GstStructure *structure; - gboolean ret; - gint channels; - const gchar *fmt; - - /*GST_INFO ("incaps are %" GST_PTR_FORMAT, incaps); */ - - structure = gst_caps_get_structure (incaps, 0); - ret = gst_structure_get_int (structure, "channels", &channels); - if (!ret) - goto no_channels; - - fmt = gst_structure_get_name (structure); - - GST_DEBUG ("try to process %s input with %d channels", fmt, channels); - - /* set processing function */ - switch (channels) { - case 1: - if (!strcmp (fmt, "audio/x-raw-int")) - filter->process = (GstAudioPanoramaProcessFunc) - gst_audio_panorama_transform_m2s_int; - else - filter->process = (GstAudioPanoramaProcessFunc) - gst_audio_panorama_transform_m2s_float; - ret = TRUE; - break; - case 2: - if (!strcmp (fmt, "audio/x-raw-int")) - filter->process = (GstAudioPanoramaProcessFunc) - gst_audio_panorama_transform_s2s_int; - else - filter->process = (GstAudioPanoramaProcessFunc) - gst_audio_panorama_transform_s2s_float; - ret = TRUE; - break; - default: - filter->process = NULL; - ret = FALSE; - GST_WARNING ("can't process input with %d channels", channels); - } - return ret; - -no_channels: - GST_DEBUG ("no channels in caps"); - return ret; -} - -static void -gst_audio_panorama_transform_m2s_int (GstAudioPanorama * filter, gint16 * idata, - gint16 * odata, guint num_samples) -{ - guint i; - gdouble val; - glong lval, rval; - gdouble rpan, lpan; - - /* pan: -1.0 0.0 1.0 - * lpan: 1.0 0.5 0.0 - * rpan: 0.0 0.5 1.0 - * - * FIXME: we should use -3db (1/sqtr(2)) for 50:50 - */ - rpan = (gdouble) (filter->panorama + 1.0) / 2.0; - lpan = 1.0 - rpan; - - for (i = 0; i < num_samples; i++) { - val = (gdouble) * idata++; - - lval = (glong) (val * lpan); - rval = (glong) (val * rpan); - - *odata++ = (gint16) CLAMP (lval, G_MININT16, G_MAXINT16); - *odata++ = (gint16) CLAMP (rval, G_MININT16, G_MAXINT16); - } -} - -static void -gst_audio_panorama_transform_s2s_int (GstAudioPanorama * filter, gint16 * idata, - gint16 * odata, guint num_samples) -{ - guint i; - glong lval, rval; - gdouble lival, rival; - gdouble lrpan, llpan, rrpan, rlpan; - - /* pan: -1.0 0.0 1.0 - * llpan: 1.0 1.0 0.0 - * lrpan: 1.0 0.0 0.0 - * rrpan: 0.0 1.0 1.0 - * rlpan: 0.0 0.0 1.0 - */ - if (filter->panorama > 0) { - rlpan = (gdouble) filter->panorama; - llpan = 1.0 - rlpan; - lrpan = 0.0; - rrpan = 1.0; - } else { - rrpan = (gdouble) (1.0 + filter->panorama); - lrpan = 1.0 - rrpan; - rlpan = 0.0; - llpan = 1.0; - } - - for (i = 0; i < num_samples; i++) { - lival = (gdouble) * idata++; - rival = (gdouble) * idata++; - - lval = lival * llpan + rival * lrpan; - rval = lival * rlpan + rival * rrpan; - - *odata++ = (gint16) CLAMP (lval, G_MININT16, G_MAXINT16); - *odata++ = (gint16) CLAMP (rval, G_MININT16, G_MAXINT16); - } -} - -static void -gst_audio_panorama_transform_m2s_float (GstAudioPanorama * filter, - gfloat * idata, gfloat * odata, guint num_samples) -{ - guint i; - gfloat val; - gdouble rpan, lpan; - - /* pan: -1.0 0.0 1.0 - * lpan: 1.0 0.5 0.0 - * rpan: 0.0 0.5 1.0 - * - * FIXME: we should use -3db (1/sqtr(2)) for 50:50 - */ - rpan = (gdouble) (filter->panorama + 1.0) / 2.0; - lpan = 1.0 - rpan; - - for (i = 0; i < num_samples; i++) { - val = *idata++; - - *odata++ = val * lpan; - *odata++ = val * rpan; - } -} - -static void -gst_audio_panorama_transform_s2s_float (GstAudioPanorama * filter, - gfloat * idata, gfloat * odata, guint num_samples) -{ - guint i; - gfloat lival, rival; - gdouble lrpan, llpan, rrpan, rlpan; - - /* pan: -1.0 0.0 1.0 - * llpan: 1.0 1.0 0.0 - * lrpan: 1.0 0.0 0.0 - * rrpan: 0.0 1.0 1.0 - * rlpan: 0.0 0.0 1.0 - */ - if (filter->panorama > 0) { - rlpan = (gdouble) filter->panorama; - llpan = 1.0 - rlpan; - lrpan = 0.0; - rrpan = 1.0; - } else { - rrpan = (gdouble) (1.0 + filter->panorama); - lrpan = 1.0 - rrpan; - rlpan = 0.0; - llpan = 1.0; - } - - for (i = 0; i < num_samples; i++) { - lival = *idata++; - rival = *idata++; - - *odata++ = lival * llpan + rival * lrpan; - *odata++ = lival * rlpan + rival * rrpan; - } -} - -/* this function does the actual processing - */ -static GstFlowReturn -gst_audio_panorama_transform (GstBaseTransform * base, GstBuffer * inbuf, - GstBuffer * outbuf) -{ - GstAudioPanorama *filter = GST_AUDIO_PANORAMA (base); - guint num_samples = GST_BUFFER_SIZE (outbuf) / (2 * sizeof (gint16)); - - if (!gst_buffer_is_writable (outbuf)) - return GST_FLOW_OK; - - if (GST_CLOCK_TIME_IS_VALID (GST_BUFFER_TIMESTAMP (outbuf))) - gst_object_sync_values (G_OBJECT (filter), GST_BUFFER_TIMESTAMP (outbuf)); - - filter->process (filter, GST_BUFFER_DATA (inbuf), - GST_BUFFER_DATA (outbuf), num_samples); - - return GST_FLOW_OK; -} diff --git a/gst/audiofxgood/audiopanorama.h b/gst/audiofxgood/audiopanorama.h deleted file mode 100644 index 623e9a6..0000000 --- a/gst/audiofxgood/audiopanorama.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * GStreamer - * Copyright (C) 2006 Stefan Kost - * - * 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_AUDIO_PANORAMA_H__ -#define __GST_AUDIO_PANORAMA_H__ - -#include -#include - -G_BEGIN_DECLS - -#define GST_TYPE_AUDIO_PANORAMA (gst_audio_panorama_get_type()) -#define GST_AUDIO_PANORAMA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_PANORAMA,GstAudioPanorama)) -#define GST_IS_AUDIO_PANORAMA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_PANORAMA)) -#define GST_AUDIO_PANORAMA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_AUDIO_PANORAMA,GstAudioPanoramaClass)) -#define GST_IS_AUDIO_PANORAMA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_AUDIO_PANORAMA)) -#define GST_AUDIO_PANORAMA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_AUDIO_PANORAMA,GstAudioPanoramaClass)) - -typedef struct _GstAudioPanorama GstAudioPanorama; -typedef struct _GstAudioPanoramaClass GstAudioPanoramaClass; - -typedef void (*GstAudioPanoramaProcessFunc)(GstAudioPanorama*, guint8*, guint8*, guint); - -struct _GstAudioPanorama { - GstBaseTransform element; - - gfloat panorama; - - /* < private > */ - GstAudioPanoramaProcessFunc process; -}; - -struct _GstAudioPanoramaClass { - GstBaseTransformClass parent_class; -}; - -GType gst_audio_panorama_get_type (void); - -G_END_DECLS - -#endif /* __GST_AUDIO_PANORAMA_H__ */