diff options
author | Stefan Kost <ensonic@users.sourceforge.net> | 2006-06-16 09:49:07 +0000 |
---|---|---|
committer | Stefan Kost <ensonic@users.sourceforge.net> | 2006-06-16 09:49:07 +0000 |
commit | 7f9bc84725c56fc9783073f630a13c3d75ed08c6 (patch) | |
tree | e9c118a601426dbcd155d83b3eb132aebf3f33df /gst/spectrum/gstspectrum.h | |
parent | e6ac90d8d8f639c51639d9b1b24e533c36702a74 (diff) | |
download | gst-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.h | 23 |
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 |