From 344a9f4229620d90b92e0fffe99069fb9c410d6f Mon Sep 17 00:00:00 2001 From: Sebastian Dröge Date: Mon, 19 Jan 2009 11:19:08 +0000 Subject: Add an echo/reverb filter to the audiofx plugin, with configurable echo delay, intensity and feedback. Fixes bug #567... Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-spectrum.xml: * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: (plugin_init): * gst/audiofx/audioreverb.c: (gst_audio_reverb_base_init), (gst_audio_reverb_class_init), (gst_audio_reverb_init), (gst_audio_reverb_finalize), (gst_audio_reverb_set_property), (gst_audio_reverb_get_property), (gst_audio_reverb_setup), (gst_audio_reverb_stop), (gst_audio_reverb_transform_ip): * gst/audiofx/audioreverb.h: * tests/check/Makefile.am: * tests/check/elements/audioreverb.c: (setup_reverb), (cleanup_reverb), (GST_START_TEST), (audioreverb_suite): Add an echo/reverb filter to the audiofx plugin, with configurable echo delay, intensity and feedback. Fixes bug #567874. --- docs/plugins/Makefile.am | 1 + docs/plugins/gst-plugins-good-plugins-docs.sgml | 1 + docs/plugins/gst-plugins-good-plugins-sections.txt | 16 ++++++ docs/plugins/gst-plugins-good-plugins.args | 60 ++++++++++++++++++++++ docs/plugins/gst-plugins-good-plugins.hierarchy | 3 ++ docs/plugins/inspect/plugin-audiofx.xml | 21 ++++++++ docs/plugins/inspect/plugin-spectrum.xml | 2 +- 7 files changed, 103 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index 8549ed3e..1c03636b 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -106,6 +106,7 @@ EXTRA_HFILES = \ $(top_srcdir)/gst/alpha/gstalphacolor.h \ $(top_srcdir)/gst/apetag/gstapedemux.h \ $(top_srcdir)/gst/audiofx/audioamplify.h \ + $(top_srcdir)/gst/audiofx/audioreverb.h \ $(top_srcdir)/gst/audiofx/audiodynamic.h \ $(top_srcdir)/gst/audiofx/audioinvert.h \ $(top_srcdir)/gst/audiofx/audiokaraoke.h \ diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml index 8fedb7fa..231017d7 100644 --- a/docs/plugins/gst-plugins-good-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml @@ -23,6 +23,7 @@ + diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt index d2de0b05..03790c5b 100644 --- a/docs/plugins/gst-plugins-good-plugins-sections.txt +++ b/docs/plugins/gst-plugins-good-plugins-sections.txt @@ -116,6 +116,22 @@ GST_TYPE_AUDIO_IIR_FILTER gst_audio_iir_filter_get_type +
+element-audioreverb +audioreverb +GstAudioReverb + +GstAudioReverbClass +GstAudioReverbProcessFunc +GST_AUDIO_REVERB +GST_AUDIO_REVERB_CLASS +GST_AUDIO_REVERB_GET_CLASS +GST_IS_AUDIO_REVERB +GST_IS_AUDIO_REVERB_CLASS +GST_TYPE_AUDIO_REVERB +gst_audio_reverb_get_type +
+
element-audiodynamic audiodynamic diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args index 0064b660..7a2603d5 100644 --- a/docs/plugins/gst-plugins-good-plugins.args +++ b/docs/plugins/gst-plugins-good-plugins.args @@ -19708,3 +19708,63 @@ + +GstAudioDelay::delay +guint64 +>= 1 +rw +Delay +Delay in nanoseconds. +1 + + + +GstAudioDelay::feedback +gfloat +[0,1] +rw +Feedback +Amount of feedback. +0 + + + +GstAudioDelay::intensity +gfloat +[0,1] +rw +Intensity +Intensity of the echo. +0 + + + +GstAudioReverb::delay +guint64 +>= 1 +rw +Delay +Delay of the echo in nanoseconds. +1 + + + +GstAudioReverb::feedback +gfloat +[0,1] +rw +Feedback +Amount of feedback. +0 + + + +GstAudioReverb::intensity +gfloat +[0,1] +rw +Intensity +Intensity of the echo. +0 + + diff --git a/docs/plugins/gst-plugins-good-plugins.hierarchy b/docs/plugins/gst-plugins-good-plugins.hierarchy index 55e1cdc2..e02a501e 100644 --- a/docs/plugins/gst-plugins-good-plugins.hierarchy +++ b/docs/plugins/gst-plugins-good-plugins.hierarchy @@ -64,6 +64,7 @@ GObject GstAudioWSincLimit GstAudioWSincBand GstAudioFIRFilter + GstAudioReverb GstIirEqualizer GstIirEqualizerNBands GstIirEqualizer3Bands @@ -221,6 +222,8 @@ GObject GstRegistry GstRingBuffer GstSignalObject + GstMixerTrack + GstMixerOptions GstCmmlTagStream GstCmmlTagHead GstCmmlTagClip diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml index 7ca2add6..171d8b43 100644 --- a/docs/plugins/inspect/plugin-audiofx.xml +++ b/docs/plugins/inspect/plugin-audiofx.xml @@ -198,6 +198,27 @@ + + audioreverb + Audio reverb + Filter/Effect/Audio + Adds an echo or reverb effect to an audio stream + Sebastian Dröge <sebastian.droege@collabora.co.uk> + + + sink + sink + always +
audio/x-raw-float, width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
+
+ + src + source + always +
audio/x-raw-float, width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
+
+
+
audiowsincband Band pass & band reject filter diff --git a/docs/plugins/inspect/plugin-spectrum.xml b/docs/plugins/inspect/plugin-spectrum.xml index deae6a44..e88d9901 100644 --- a/docs/plugins/inspect/plugin-spectrum.xml +++ b/docs/plugins/inspect/plugin-spectrum.xml @@ -14,7 +14,7 @@ Spectrum analyzer Filter/Analyzer/Audio Run an FFT on the audio signal, output spectrum data - Erik Walthinsen <omega@cse.ogi.edu>, Stefan Kost <ensonic@users.sf.net>, Sebastian Dröge <slomo@circular-chaos.org> + Erik Walthinsen <omega@cse.ogi.edu>, Stefan Kost <ensonic@users.sf.net>, Sebastian Dröge <sebastian.droege@collabora.co.uk> sink -- cgit