summaryrefslogtreecommitdiffstats
path: root/gst/spectrum
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2007-11-11 21:12:10 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2007-11-11 21:12:10 +0000
commit015dc9060f89f77005e66ef880e44204292461f2 (patch)
treef67158203d38ae2cedd8332f56f3ad5fa611cb62 /gst/spectrum
parent0ada8ac4157fd5428e75bba57d6df9a43e2fe21e (diff)
downloadgst-plugins-bad-015dc9060f89f77005e66ef880e44204292461f2.tar.gz
gst-plugins-bad-015dc9060f89f77005e66ef880e44204292461f2.tar.bz2
gst-plugins-bad-015dc9060f89f77005e66ef880e44204292461f2.zip
gst/: Change the meaning of the magnitude values given in the
Original commit message from CVS: * gst/equalizer/demo.c: (draw_spectrum): * gst/spectrum/demo-audiotest.c: (draw_spectrum): * gst/spectrum/demo-osssrc.c: (draw_spectrum): * gst/spectrum/gstspectrum.c: (gst_spectrum_class_init): Change the meaning of the magnitude values given in the GstMessages by spectrum to decibel instead of decibel+threshold.
Diffstat (limited to 'gst/spectrum')
-rw-r--r--gst/spectrum/demo-audiotest.c2
-rw-r--r--gst/spectrum/demo-osssrc.c2
-rw-r--r--gst/spectrum/gstspectrum.c24
3 files changed, 12 insertions, 16 deletions
diff --git a/gst/spectrum/demo-audiotest.c b/gst/spectrum/demo-audiotest.c
index 05c9f886..bc2e9abc 100644
--- a/gst/spectrum/demo-audiotest.c
+++ b/gst/spectrum/demo-audiotest.c
@@ -82,7 +82,7 @@ draw_spectrum (gfloat * data)
TRUE, 0, 0, spect_bands, spect_height);
for (i = 0; i < spect_bands; i++) {
gdk_draw_rectangle (drawingarea->window, drawingarea->style->white_gc,
- TRUE, i, spect_height - data[i], 1, data[i]);
+ TRUE, i, -data[i], 1, spect_height + data[i]);
}
gdk_window_end_paint (drawingarea->window);
}
diff --git a/gst/spectrum/demo-osssrc.c b/gst/spectrum/demo-osssrc.c
index d0b07f33..eb28cff7 100644
--- a/gst/spectrum/demo-osssrc.c
+++ b/gst/spectrum/demo-osssrc.c
@@ -71,7 +71,7 @@ draw_spectrum (gfloat * data)
TRUE, 0, 0, spect_bands, spect_height);
for (i = 0; i < spect_bands; i++) {
gdk_draw_rectangle (drawingarea->window, drawingarea->style->white_gc,
- TRUE, i, spect_height - data[i], 1, data[i]);
+ TRUE, i, -data[i], 1, spect_height + data[i]);
}
gdk_window_end_paint (drawingarea->window);
}
diff --git a/gst/spectrum/gstspectrum.c b/gst/spectrum/gstspectrum.c
index 3b2f19fc..85e0540f 100644
--- a/gst/spectrum/gstspectrum.c
+++ b/gst/spectrum/gstspectrum.c
@@ -40,9 +40,9 @@
* <para>
* #GstValueList of #gfloat
* <classname>&quot;magnitude&quot;</classname>:
- * the level for each frequency band. A value of 0 maps to the
- * db value given by the
- * <link linkend="GstSpectrum--threshold">threshold property.</link>.
+ * the level for each frequency band in dB. All values below the value of the
+ * <link linkend="GstSpectrum--threshold">threshold property</link> will
+ * be set to the threshold.
* </para>
* </listitem>
* <listitem>
@@ -57,7 +57,7 @@
* This element cannot be used with the gst-launch command in a sensible way.
* The included demo shows how to use it in an application.
*
- * Last reviewed on 2007-08-18 (0.10.5)
+ * Last reviewed on 2007-11-11 (0.10.6)
* </refsect2>
*/
@@ -212,8 +212,8 @@ gst_spectrum_class_init (GstSpectrumClass * klass)
g_object_class_install_property (gobject_class, PROP_THRESHOLD,
g_param_spec_int ("threshold", "Threshold",
- "db threshold for result, maps to 0", G_MININT, 0, DEFAULT_THRESHOLD,
- G_PARAM_READWRITE));
+ "dB threshold for result. All lower values will be set to this",
+ G_MININT, 0, DEFAULT_THRESHOLD, G_PARAM_READWRITE));
GST_DEBUG_CATEGORY_INIT (gst_spectrum_debug, "spectrum", 0,
"audio spectrum analyser element");
@@ -522,10 +522,8 @@ process_s##width (GstSpectrum *spectrum, const gint##width *samples) \
val += (gdouble) freqdata[i].i * (gdouble) freqdata[i].i; \
val /= max*max; \
val = 10.0 * log10 (val); \
- if (val > spectrum->threshold) \
- val -= spectrum->threshold; \
- else \
- val = 0.0; \
+ if (val < spectrum->threshold) \
+ val = spectrum->threshold; \
spect_magnitude[i] += val; \
} \
\
@@ -589,10 +587,8 @@ process_f##width (GstSpectrum *spectrum, const g##type *samples) \
val += freqdata[i].i * freqdata[i].i; \
val /= nfft*nfft; \
val = 10.0 * log10 (val); \
- if (val > spectrum->threshold) \
- val -= spectrum->threshold; \
- else \
- val = 0.0; \
+ if (val < spectrum->threshold) \
+ val = spectrum->threshold; \
spect_magnitude[i] += val; \
} \
\