summaryrefslogtreecommitdiffstats
path: root/gst/spectrum/gstspectrum.h
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sourceforge.net>2006-06-16 09:49:07 +0000
committerStefan Kost <ensonic@users.sourceforge.net>2006-06-16 09:49:07 +0000
commit7f9bc84725c56fc9783073f630a13c3d75ed08c6 (patch)
treee9c118a601426dbcd155d83b3eb132aebf3f33df /gst/spectrum/gstspectrum.h
parente6ac90d8d8f639c51639d9b1b24e533c36702a74 (diff)
downloadgst-plugins-bad-7f9bc84725c56fc9783073f630a13c3d75ed08c6.tar.gz
gst-plugins-bad-7f9bc84725c56fc9783073f630a13c3d75ed08c6.tar.bz2
gst-plugins-bad-7f9bc84725c56fc9783073f630a13c3d75ed08c6.zip
gst/spectrum/: port to use message to get results, cleanly exit when closing the window
Original commit message from CVS: * gst/spectrum/demo-audiotest.c: (on_window_destroy), (draw_spectrum), (message_handler), (main): * gst/spectrum/demo-osssrc.c: (on_window_destroy), (draw_spectrum), (message_handler), (main): port to use message to get results, cleanly exit when closing the window * gst/spectrum/gstspectrum.c: (gst_spectrum_class_init), (gst_spectrum_init), (gst_spectrum_dispose), (gst_spectrum_set_property), (gst_spectrum_get_property), (gst_spectrum_set_caps), (gst_spectrum_start), (gst_spectrum_message_new), (gst_spectrum_transform_ip): * gst/spectrum/gstspectrum.h: port to derive from basetransform and send results via messages (like level element)
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