summaryrefslogtreecommitdiffstats
path: root/gst/filter/gstiir.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/filter/gstiir.c')
-rw-r--r--gst/filter/gstiir.c125
1 files changed, 62 insertions, 63 deletions
diff --git a/gst/filter/gstiir.c b/gst/filter/gstiir.c
index 4ccf9f09..5e44f3d0 100644
--- a/gst/filter/gstiir.c
+++ b/gst/filter/gstiir.c
@@ -25,20 +25,19 @@
#include "gstfilter.h"
#include "iir.h"
-static GstElementDetails gst_iir_details = GST_ELEMENT_DETAILS (
- "IIR",
- "Filter/Effect/Audio",
- "IIR filter based on vorbis code",
- "Monty <monty@xiph.org>, "
- "Thomas <thomas@apestaart.org>"
-);
-
-enum {
+static GstElementDetails gst_iir_details = GST_ELEMENT_DETAILS ("IIR",
+ "Filter/Effect/Audio",
+ "IIR filter based on vorbis code",
+ "Monty <monty@xiph.org>, " "Thomas <thomas@apestaart.org>");
+
+enum
+{
/* FILL ME */
LAST_SIGNAL
};
-enum {
+enum
+{
ARG_0,
ARG_A,
ARG_B,
@@ -74,33 +73,34 @@ struct _GstIIR
struct _GstIIRClass
{
- GstElementClass parent_class;
+ GstElementClass parent_class;
};
-static void gst_iir_base_init (gpointer g_class);
-static void gst_iir_class_init (GstIIRClass * klass);
-static void gst_iir_init (GstIIR * filter);
+static void gst_iir_base_init (gpointer g_class);
+static void gst_iir_class_init (GstIIRClass * klass);
+static void gst_iir_init (GstIIR * filter);
-static void gst_iir_set_property (GObject * object, guint prop_id,
- const GValue * value,
- GParamSpec * pspec);
-static void gst_iir_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
+static void gst_iir_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec);
+static void gst_iir_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec);
-static void gst_iir_chain (GstPad * pad, GstData *_data);
+static void gst_iir_chain (GstPad * pad, GstData * _data);
static GstPadLinkReturn
- gst_iir_sink_connect (GstPad * pad, const GstCaps * caps);
+gst_iir_sink_connect (GstPad * pad, const GstCaps * caps);
static GstElementClass *parent_class = NULL;
+
/*static guint gst_iir_signals[LAST_SIGNAL] = { 0 }; */
-GType gst_iir_get_type (void)
+GType
+gst_iir_get_type (void)
{
static GType iir_type = 0;
if (!iir_type) {
static const GTypeInfo iir_info = {
- sizeof (GstIIRClass),
+ sizeof (GstIIRClass),
gst_iir_base_init,
NULL,
(GClassInitFunc) gst_iir_class_init, NULL, NULL,
@@ -108,8 +108,8 @@ GType gst_iir_get_type (void)
(GInstanceInitFunc) gst_iir_init,
};
- iir_type = g_type_register_static (GST_TYPE_ELEMENT, "GstIIR",
- &iir_info, 0);
+ iir_type = g_type_register_static (GST_TYPE_ELEMENT, "GstIIR",
+ &iir_info, 0);
}
return iir_type;
}
@@ -123,9 +123,9 @@ gst_iir_base_init (gpointer g_class)
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&gst_filter_src_template));
gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_filter_sink_template));
+ gst_static_pad_template_get (&gst_filter_sink_template));
- gst_element_class_set_details (element_class, &gst_iir_details);
+ gst_element_class_set_details (element_class, &gst_iir_details);
}
static void
@@ -140,21 +140,17 @@ gst_iir_class_init (GstIIRClass * klass)
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_A,
- g_param_spec_double ("A", "A", "A filter coefficient",
- -G_MAXDOUBLE, G_MAXDOUBLE,
- 0, G_PARAM_READWRITE));
+ g_param_spec_double ("A", "A", "A filter coefficient",
+ -G_MAXDOUBLE, G_MAXDOUBLE, 0, G_PARAM_READWRITE));
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_B,
- g_param_spec_double ("B", "B", "B filter coefficient",
- -G_MAXDOUBLE, G_MAXDOUBLE,
- 0, G_PARAM_READWRITE));
+ g_param_spec_double ("B", "B", "B filter coefficient",
+ -G_MAXDOUBLE, G_MAXDOUBLE, 0, G_PARAM_READWRITE));
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_GAIN,
- g_param_spec_double ("gain", "Gain", "Filter gain",
- -G_MAXDOUBLE, G_MAXDOUBLE,
- 0, G_PARAM_READWRITE));
+ g_param_spec_double ("gain", "Gain", "Filter gain",
+ -G_MAXDOUBLE, G_MAXDOUBLE, 0, G_PARAM_READWRITE));
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_STAGES,
- g_param_spec_int ("stages", "Stages", "Number of filter stages",
- 1, G_MAXINT,
- 1, G_PARAM_READWRITE));
+ g_param_spec_int ("stages", "Stages", "Number of filter stages",
+ 1, G_MAXINT, 1, G_PARAM_READWRITE));
gobject_class->set_property = gst_iir_set_property;
gobject_class->get_property = gst_iir_get_property;
@@ -163,19 +159,21 @@ gst_iir_class_init (GstIIRClass * klass)
static void
gst_iir_init (GstIIR * filter)
{
- filter->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_filter_sink_template), "sink");
+ filter->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_filter_sink_template), "sink");
gst_pad_set_chain_function (filter->sinkpad, gst_iir_chain);
gst_pad_set_link_function (filter->sinkpad, gst_iir_sink_connect);
gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
- filter->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_filter_src_template), "src");
+ filter->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_filter_src_template), "src");
gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
filter->A = 0.0;
filter->B = 0.0;
- filter->gain = 1.0; /* unity gain as default */
+ filter->gain = 1.0; /* unity gain as default */
filter->stages = 1;
filter->state = NULL;
}
@@ -185,23 +183,23 @@ gst_iir_sink_connect (GstPad * pad, const GstCaps * caps)
{
GstIIR *filter;
GstPadLinkReturn set_retval;
-
+
filter = GST_IIR (gst_pad_get_parent (pad));
-
- set_retval = gst_pad_try_set_caps(filter->srcpad, caps);
+
+ set_retval = gst_pad_try_set_caps (filter->srcpad, caps);
if (set_retval > 0) {
/* connection works, so init the filter */
/* FIXME: remember to free it */
filter->state = (IIR_state *) g_malloc (sizeof (IIR_state));
- IIR_init (filter->state, filter->stages,
- filter->gain, &(filter->A), &(filter->B));
+ IIR_init (filter->state, filter->stages,
+ filter->gain, &(filter->A), &(filter->B));
}
return set_retval;
}
static void
-gst_iir_chain (GstPad * pad, GstData *_data)
+gst_iir_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstIIR *filter;
@@ -223,7 +221,8 @@ gst_iir_chain (GstPad * pad, GstData *_data)
}
static void
-gst_iir_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_iir_set_property (GObject * object, guint prop_id, const GValue * value,
+ GParamSpec * pspec)
{
GstIIR *filter;
@@ -234,30 +233,31 @@ gst_iir_set_property (GObject * object, guint prop_id, const GValue * value, GPa
switch (prop_id) {
case ARG_A:
- filter->A = g_value_get_double (value);
- break;
+ filter->A = g_value_get_double (value);
+ break;
case ARG_B:
- filter->B = g_value_get_double (value);
- break;
+ filter->B = g_value_get_double (value);
+ break;
case ARG_GAIN:
- filter->gain = g_value_get_double (value);
- break;
+ filter->gain = g_value_get_double (value);
+ break;
case ARG_STAGES:
- filter->stages = g_value_get_int (value);
- break;
+ filter->stages = g_value_get_int (value);
+ break;
default:
break;
}
}
static void
-gst_iir_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_iir_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstIIR *filter;
/* it's not null if we got it, but it might not be ours */
g_return_if_fail (GST_IS_IIR (object));
-
+
filter = GST_IIR (object);
switch (prop_id) {
@@ -277,5 +277,4 @@ gst_iir_get_property (GObject * object, guint prop_id, GValue * value, GParamSpe
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
-}
-
+}