summaryrefslogtreecommitdiffstats
path: root/gst/spectrum/gstspectrum.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst/spectrum/gstspectrum.h')
-rw-r--r--gst/spectrum/gstspectrum.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/gst/spectrum/gstspectrum.h b/gst/spectrum/gstspectrum.h
index a6c918c0..51e2000c 100644
--- a/gst/spectrum/gstspectrum.h
+++ b/gst/spectrum/gstspectrum.h
@@ -24,6 +24,7 @@
#include <gst/gst.h>
#include <gst/base/gstadapter.h>
+#include <gst/base/gstbasetransform.h>
#ifdef __cplusplus
extern "C" {
@@ -40,25 +41,35 @@ typedef struct _GstSpectrum GstSpectrum;
typedef struct _GstSpectrumClass GstSpectrumClass;
struct _GstSpectrum {
- GstElement element;
+ GstBaseTransform element;
GstPad *sinkpad,*srcpad;
GstAdapter *adapter;
/* properties */
- guint width;
- gint threshold;
-
+ gboolean message; /* whether or not to post messages */
+ gdouble interval; /* how many seconds between emits */
+ guint bands; /* number of spectrum bands */
+ gint threshold; /* energy level treshold */
+
+ gint num_frames; /* frame count (1 sample per channel)
+ * since last emit */
+
+ gint rate; /* caps variables */
+ gint width;
gint channels;
+
+ /* <private> */
gint base, len;
gint16 *re, *im, *loud;
+ guchar *spect;
};
struct _GstSpectrumClass {
- GstElementClass parent_class;
+ GstBaseTransformClass parent_class;
};
-GType gst_spectrum_get_type(void);
+GType gst_spectrum_get_type (void);
#ifdef __cplusplus