diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2009-01-11 19:03:38 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2009-01-11 19:03:38 +0000 |
commit | 0016658ace7e5b84095b44ad7bae27218334143b (patch) | |
tree | ca8186d7931728c88006bf65b4fde0cf83693616 /gst/audiofx/audiowsinclimit.h | |
parent | 1d32ad886ed1557a36afecc8e880863fcdc377e6 (diff) |
gst/audiofx/: Implement a base class for generic audio FIR filters.
Original commit message from CVS:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiofxbasefirfilter.c:
(gst_audio_fx_base_fir_filter_dispose),
(gst_audio_fx_base_fir_filter_base_init),
(gst_audio_fx_base_fir_filter_class_init),
(gst_audio_fx_base_fir_filter_init),
(gst_audio_fx_base_fir_filter_push_residue),
(gst_audio_fx_base_fir_filter_setup),
(gst_audio_fx_base_fir_filter_transform),
(gst_audio_fx_base_fir_filter_start),
(gst_audio_fx_base_fir_filter_stop),
(gst_audio_fx_base_fir_filter_query),
(gst_audio_fx_base_fir_filter_query_type),
(gst_audio_fx_base_fir_filter_event),
(gst_audio_fx_base_fir_filter_set_kernel):
* gst/audiofx/audiofxbasefirfilter.h:
* gst/audiofx/audiofxbaseiirfilter.c:
Implement a base class for generic audio FIR filters.
* gst/audiofx/audiowsincband.c:
(gst_gst_audio_wsincband_mode_get_type),
(gst_gst_audio_wsincband_window_get_type),
(gst_audio_wsincband_base_init), (gst_audio_wsincband_class_init),
(gst_audio_wsincband_init), (gst_audio_wsincband_build_kernel),
(gst_audio_wsincband_setup), (gst_audio_wsincband_set_property),
(gst_audio_wsincband_get_property):
* gst/audiofx/audiowsincband.h:
* gst/audiofx/audiowsinclimit.c:
(gst_audio_wsinclimit_mode_get_type),
(gst_audio_wsinclimit_window_get_type),
(gst_audio_wsinclimit_base_init),
(gst_audio_wsinclimit_class_init), (gst_audio_wsinclimit_init),
(gst_audio_wsinclimit_build_kernel), (gst_audio_wsinclimit_setup),
(gst_audio_wsinclimit_set_property),
(gst_audio_wsinclimit_get_property):
* gst/audiofx/audiowsinclimit.h:
* tests/check/elements/audiowsincband.c: (GST_START_TEST):
* tests/check/elements/audiowsinclimit.c: (GST_START_TEST):
Use this new base class for audiowsincband and audiowsinclimit.
Also cleanup both elements.
Diffstat (limited to 'gst/audiofx/audiowsinclimit.h')
-rw-r--r-- | gst/audiofx/audiowsinclimit.h | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/gst/audiofx/audiowsinclimit.h b/gst/audiofx/audiowsinclimit.h index b781a422..d30b3938 100644 --- a/gst/audiofx/audiowsinclimit.h +++ b/gst/audiofx/audiowsinclimit.h @@ -3,6 +3,7 @@ * GStreamer * Copyright (C) 1999-2001 Erik Walthinsen <omega@cse.ogi.edu> * 2006 Dreamlab Technologies Ltd. <mathis.hofer@dreamlab.net> + * 2007-2009 Sebastian Dröge <sebastian.droege@collabora.co.uk> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -33,10 +34,12 @@ #include <gst/gst.h> #include <gst/audio/gstaudiofilter.h> +#include "audiofxbasefirfilter.h" + G_BEGIN_DECLS #define GST_TYPE_AUDIO_WSINC_LIMIT \ - (audio_wsinclimit_get_type()) + (gst_audio_wsinclimit_get_type()) #define GST_AUDIO_WSINC_LIMIT(obj) \ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_WSINC_LIMIT,GstAudioWSincLimit)) #define GST_AUDIO_WSINC_LIMIT_CLASS(klass) \ @@ -49,38 +52,26 @@ G_BEGIN_DECLS typedef struct _GstAudioWSincLimit GstAudioWSincLimit; typedef struct _GstAudioWSincLimitClass GstAudioWSincLimitClass; -typedef void (*GstAudioWSincLimitProcessFunc) (GstAudioWSincLimit *, guint8 *, guint8 *, guint); - /** * GstAudioWSincLimit: * * Opaque data structure. */ struct _GstAudioWSincLimit { - GstAudioFilter element; + GstAudioFXBaseFIRFilter parent; /* < private > */ - GstAudioWSincLimitProcessFunc process; - gint mode; gint window; gfloat cutoff; - gint kernel_length; /* length of the filter kernel */ - - gdouble *residue; /* buffer for left-over samples from previous buffer */ - gdouble *kernel; /* filter kernel */ - gboolean have_kernel; - gint residue_length; - guint64 latency; - GstClockTime next_ts; - guint64 next_off; + gint kernel_length; }; struct _GstAudioWSincLimitClass { - GstAudioFilterClass parent_class; + GstAudioFXBaseFIRFilterClass parent; }; -GType audio_wsinclimit_get_type (void); +GType gst_audio_wsinclimit_get_type (void); G_END_DECLS |