1
/* GStreamer FFTW-based spectrum-to-signal converter
2
* Copyright (C) 2006 Joseph Rabinoff <bobqwatson@yahoo.com>
5
/***************************************************************************
7
* This program is free software; you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation; either version 2 of the License, or *
10
* (at your option) any later version. *
12
***************************************************************************/
15
#ifndef __GST_FFTWUNSPECTRUM_H__
16
#define __GST_FFTWUNSPECTRUM_H__
23
/* #defines don't like whitespacey bits */
24
#define GST_TYPE_FFTWUNSPECTRUM \
25
(gst_fftwunspectrum_get_type())
26
#define GST_FFTWUNSPECTRUM(obj) \
27
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FFTWUNSPECTRUM,GstFFTWUnSpectrum))
28
#define GST_FFTWUNSPECTRUM_CLASS(klass) \
29
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FFTWUNSPECTRUM,GstFFTWUnSpectrumClass))
31
typedef struct _GstFFTWUnSpectrum GstFFTWUnSpectrum;
32
typedef struct _GstFFTWUnSpectrumClass GstFFTWUnSpectrumClass;
34
struct _GstFFTWUnSpectrum
38
GstPad *sinkpad, *srcpad;
41
gint rate, size, step;
43
/* This is used to store samples for which there is overlapping
44
* spectrum data (when size > step) */
45
gfloat *extra_samples;
47
/* State data for fftw */
56
struct _GstFFTWUnSpectrumClass
58
GstElementClass parent_class;
61
GType gst_fftwunspectrum_get_type (void);
65
#endif /* __GST_FFTWUNSPECTRUM_H__ */