• Sebastian Dröge's avatar
    Port GstSpectrum to GstAudioFilter and libgstfft, add support for int32, float... · f5a3e61e
    Sebastian Dröge authored
    Port GstSpectrum to GstAudioFilter and libgstfft, add support for int32, float and double, use floats for the message...
    
    Original commit message from CVS:
    * configure.ac:
    * gst/spectrum/Makefile.am:
    * gst/spectrum/demo-audiotest.c: (draw_spectrum),
    (message_handler), (main):
    * gst/spectrum/demo-osssrc.c: (draw_spectrum), (message_handler):
    * gst/spectrum/gstspectrum.c: (gst_spectrum_base_init),
    (gst_spectrum_class_init), (gst_spectrum_init),
    (gst_spectrum_dispose), (gst_spectrum_set_property),
    (gst_spectrum_get_property), (gst_spectrum_start),
    (gst_spectrum_setup), (gst_spectrum_message_new),
    (gst_spectrum_transform_ip):
    * gst/spectrum/gstspectrum.h:
    Port GstSpectrum to GstAudioFilter and libgstfft, add support
    for int32, float and double, use floats for the message contents,
    average all FFTs done in one interval for better results, use
    a better windowing function, allow posting the phase in the message
    and actually do an FFT with the requested number of bands instead
    of interpolating.
    * tests/check/elements/spectrum.c: (GST_START_TEST),
    (spectrum_suite):
    Improve the units tests by checking for a 11025Hz sine wave
    and add unit tests for all 4 supported sample types.
    f5a3e61e
spectrum.c 19 KB