diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2007-11-11 21:12:10 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2007-11-11 21:12:10 +0000 |
commit | 015dc9060f89f77005e66ef880e44204292461f2 (patch) | |
tree | f67158203d38ae2cedd8332f56f3ad5fa611cb62 /gst | |
parent | 0ada8ac4157fd5428e75bba57d6df9a43e2fe21e (diff) | |
download | gst-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')
-rw-r--r-- | gst/equalizer/demo.c | 4 | ||||
-rw-r--r-- | gst/spectrum/demo-audiotest.c | 2 | ||||
-rw-r--r-- | gst/spectrum/demo-osssrc.c | 2 | ||||
-rw-r--r-- | gst/spectrum/gstspectrum.c | 24 |
4 files changed, 14 insertions, 18 deletions
diff --git a/gst/equalizer/demo.c b/gst/equalizer/demo.c index b4f1c550..43518463 100644 --- a/gst/equalizer/demo.c +++ b/gst/equalizer/demo.c @@ -88,7 +88,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); } @@ -134,7 +134,7 @@ main (int argc, char *argv[]) /* White noise */ src = gst_element_factory_make ("audiotestsrc", "src"); - g_object_set (G_OBJECT (src), "wave", 5, "volume", 0.5, NULL); + g_object_set (G_OBJECT (src), "wave", 5, "volume", 0.8, NULL); /* Force float32 samples */ capsfilter = gst_element_factory_make ("capsfilter", "capsfilter"); 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>"magnitude"</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; \ } \ \ |