summaryrefslogtreecommitdiffstats
path: root/gst/equalizer
diff options
context:
space:
mode:
Diffstat (limited to 'gst/equalizer')
-rw-r--r--gst/equalizer/gstiirequalizer10bands.c6
-rw-r--r--gst/equalizer/gstiirequalizer3bands.c8
-rw-r--r--gst/equalizer/gstiirequalizernbands.c53
3 files changed, 60 insertions, 7 deletions
diff --git a/gst/equalizer/gstiirequalizer10bands.c b/gst/equalizer/gstiirequalizer10bands.c
index a2e2018f..e951077d 100644
--- a/gst/equalizer/gstiirequalizer10bands.c
+++ b/gst/equalizer/gstiirequalizer10bands.c
@@ -19,12 +19,14 @@
/**
* SECTION:element-equalizer-10bands
+ * @short_description: 10-band equalizer
*
* <refsect2>
- * <title>Example launch line</title>
* <para>
- * The 10 band equalizer element changes the frequency spectrum of the audio data.
+ * The 10 band equalizer element allows to change the gain of 10 equally distributed
+ * frequency bands between 30 Hz and 15 kHz.
* </para>
+ * <title>Example launch line</title>
* <para>
* <programlisting>
* gst-launch filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-10bands band2=3.0 ! alsasink
diff --git a/gst/equalizer/gstiirequalizer3bands.c b/gst/equalizer/gstiirequalizer3bands.c
index e2229dd7..f1e11d50 100644
--- a/gst/equalizer/gstiirequalizer3bands.c
+++ b/gst/equalizer/gstiirequalizer3bands.c
@@ -19,17 +19,19 @@
/**
* SECTION:element-equalizer-3bands
+ * @short_description: 3-band equalizer
*
* <refsect2>
- * <title>Example launch line</title>
* <para>
- * The 3 band equalizer element changes the frequency spectrum of the audio data.
+ * The 3-band equalizer element allows to change the gain of a low frequency,
+ * medium frequency and high frequency band.
* </para>
+ * <title>Example launch line</title>
* <para>
* <programlisting>
* gst-launch filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-3bands band1=6.0 ! alsasink
* </programlisting>
- * This raises the volume of the 2nd band which is at 1110 Hz by 6 db.
+ * This raises the volume of the 2nd band, which is at 1110 Hz, by 6 db.
* </para>
* </refsect2>
*/
diff --git a/gst/equalizer/gstiirequalizernbands.c b/gst/equalizer/gstiirequalizernbands.c
index 164dca5c..316cd029 100644
--- a/gst/equalizer/gstiirequalizernbands.c
+++ b/gst/equalizer/gstiirequalizernbands.c
@@ -20,18 +20,67 @@
/**
* SECTION:element-equalizer-nbands
+ * @short_description: Fully parametric N-band equalizer
*
* <refsect2>
- * <title>Example launch line</title>
* <para>
- * The n-band equalizer element changes the frequency spectrum of the audio data.
+ * The n-band equalizer element is a fully parametric equalizer. It allows to
+ * select between 1 and 64 bands and has properties on each band to change
+ * the center frequency, band width and gain.
* </para>
+ * <title>Example launch line</title>
* <para>
* <programlisting>
* gst-launch filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-nbands num-bands=15 band5::gain=6.0 ! alsasink
* </programlisting>
* This make the equalizer use 15 bands and raises the volume of the 5th band by 6 db.
* </para>
+ * <title>Example code</title>
+ * <para>
+ * <programlisting>
+
+#include &lt;gst/gst.h&gt;
+
+...
+typedef struct {
+ gfloat freq;
+ gfloat width;
+ gfloat gain;
+} GstEqualizerBandState;
+
+...
+
+ GstElement *equalizer;
+ GstObject *band;
+ gint i;
+ GstEqualizerBandState state[] = {
+ { 120.0, 50.0, - 3.0},
+ { 500.0, 20.0, 12.0},
+ {1503.0, 2.0, -20.0},
+ {6000.0, 1000.0, 6.0},
+ {3000.0, 120.0, 2.0}
+ };
+
+...
+
+
+ equalizer = gst_element_factory_make ("equalizer-nbands", "equalizer");
+ g_object_set (G_OBJECT (equalizer), "num-bands", 5, NULL);
+
+...
+
+ for (i = 0; i &lt; 5; i++) {
+ band = gst_child_proxy_get_child_by_index (GST_CHILD_PROXY (equalizer), i);
+ g_object_set (G_OBJECT (band), "freq", state[i].freq,
+ "bandwidth", state[i].width,
+ "gain", state[i].gain);
+ g_object_unref (G_OBJECT (band));
+ }
+
+...
+
+ * </programlisting>
+ * </para>
* </refsect2>
*/