diff options
| -rw-r--r-- | docs/plugins/Makefile.am | 2 | ||||
| -rw-r--r-- | docs/plugins/gst-plugins-good-plugins-docs.sgml | 2 | ||||
| -rw-r--r-- | docs/plugins/gst-plugins-good-plugins-sections.txt | 26 | ||||
| -rw-r--r-- | docs/plugins/gst-plugins-good-plugins.args | 30 | ||||
| -rw-r--r-- | docs/plugins/gst-plugins-good-plugins.hierarchy | 2 | ||||
| -rw-r--r-- | docs/plugins/inspect/plugin-audiofx.xml | 42 | ||||
| -rw-r--r-- | docs/plugins/inspect/plugin-videocrop.xml | 4 | ||||
| -rw-r--r-- | gst/audiofx/Makefile.am | 4 | ||||
| -rw-r--r-- | gst/audiofx/audioecho.c (renamed from gst/audiofx/audioreverb.c) | 110 | ||||
| -rw-r--r-- | gst/audiofx/audioecho.h (renamed from gst/audiofx/audioreverb.h) | 32 | ||||
| -rw-r--r-- | gst/audiofx/audiofx.c | 6 | ||||
| -rw-r--r-- | tests/check/Makefile.am | 2 | ||||
| -rw-r--r-- | tests/check/elements/audioecho.c (renamed from tests/check/elements/audioreverb.c) | 72 | 
13 files changed, 182 insertions, 152 deletions
diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index 1c03636b..f5f0d97f 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -106,7 +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/audioecho.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 231017d7..1a9c2ea0 100644 --- a/docs/plugins/gst-plugins-good-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml @@ -23,7 +23,7 @@      <xi:include href="xml/element-audiowsincband.xml" />      <xi:include href="xml/element-audiowsinclimit.xml" />      <xi:include href="xml/element-audiofirfilter.xml" /> -    <xi:include href="xml/element-audioreverb.xml" /> +    <xi:include href="xml/element-audioecho.xml" />      <xi:include href="xml/element-audiodynamic.xml" />      <xi:include href="xml/element-audioinvert.xml" />      <xi:include href="xml/element-audiopanorama.xml" /> diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt index 03790c5b..332c36d4 100644 --- a/docs/plugins/gst-plugins-good-plugins-sections.txt +++ b/docs/plugins/gst-plugins-good-plugins-sections.txt @@ -117,19 +117,19 @@ gst_audio_iir_filter_get_type  </SECTION>  <SECTION> -<FILE>element-audioreverb</FILE> -<TITLE>audioreverb</TITLE> -GstAudioReverb -<SUBSECTION Standard> -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 +<FILE>element-audioecho</FILE> +<TITLE>audioecho</TITLE> +GstAudioEcho +<SUBSECTION Standard> +GstAudioEchoClass +GstAudioEchoProcessFunc +GST_AUDIO_ECHO +GST_AUDIO_ECHO_CLASS +GST_AUDIO_ECHO_GET_CLASS +GST_IS_AUDIO_ECHO +GST_IS_AUDIO_ECHO_CLASS +GST_TYPE_AUDIO_ECHO +gst_audio_echo_get_type  </SECTION>  <SECTION> diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args index 7a2603d5..5d646289 100644 --- a/docs/plugins/gst-plugins-good-plugins.args +++ b/docs/plugins/gst-plugins-good-plugins.args @@ -19768,3 +19768,33 @@  <DEFAULT>0</DEFAULT>  </ARG> +<ARG> +<NAME>GstAudioEcho::delay</NAME> +<TYPE>guint64</TYPE> +<RANGE>>= 1</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Delay</NICK> +<BLURB>Delay of the echo in nanosecondsecho.</BLURB> +<DEFAULT>1</DEFAULT> +</ARG> + +<ARG> +<NAME>GstAudioEcho::feedback</NAME> +<TYPE>gfloat</TYPE> +<RANGE>[0,1]</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Feedback</NICK> +<BLURB>Amount of feedback.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + +<ARG> +<NAME>GstAudioEcho::intensity</NAME> +<TYPE>gfloat</TYPE> +<RANGE>[0,1]</RANGE> +<FLAGS>rw</FLAGS> +<NICK>Intensity</NICK> +<BLURB>Intensity of the echo.</BLURB> +<DEFAULT>0</DEFAULT> +</ARG> + diff --git a/docs/plugins/gst-plugins-good-plugins.hierarchy b/docs/plugins/gst-plugins-good-plugins.hierarchy index e02a501e..914c4d84 100644 --- a/docs/plugins/gst-plugins-good-plugins.hierarchy +++ b/docs/plugins/gst-plugins-good-plugins.hierarchy @@ -64,7 +64,7 @@ GObject              GstAudioWSincLimit              GstAudioWSincBand              GstAudioFIRFilter -          GstAudioReverb +          GstAudioEcho            GstIirEqualizer              GstIirEqualizerNBands              GstIirEqualizer3Bands diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml index 171d8b43..d06c3ab5 100644 --- a/docs/plugins/inspect/plugin-audiofx.xml +++ b/docs/plugins/inspect/plugin-audiofx.xml @@ -94,6 +94,27 @@        </pads>      </element>      <element> +      <name>audioecho</name> +      <longname>Audio echo</longname> +      <class>Filter/Effect/Audio</class> +      <description>Adds an echo or reverb effect to an audio stream</description> +      <author>Sebastian Dröge <sebastian.droege@collabora.co.uk></author> +      <pads> +        <caps> +          <name>sink</name> +          <direction>sink</direction> +          <presence>always</presence> +          <details>audio/x-raw-float, width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details> +        </caps> +        <caps> +          <name>src</name> +          <direction>source</direction> +          <presence>always</presence> +          <details>audio/x-raw-float, width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details> +        </caps> +      </pads> +    </element> +    <element>        <name>audiofirfilter</name>        <longname>Audio FIR filter</longname>        <class>Filter/Effect/Audio</class> @@ -199,27 +220,6 @@        </pads>      </element>      <element> -      <name>audioreverb</name> -      <longname>Audio reverb</longname> -      <class>Filter/Effect/Audio</class> -      <description>Adds an echo or reverb effect to an audio stream</description> -      <author>Sebastian Dröge <sebastian.droege@collabora.co.uk></author> -      <pads> -        <caps> -          <name>sink</name> -          <direction>sink</direction> -          <presence>always</presence> -          <details>audio/x-raw-float, width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details> -        </caps> -        <caps> -          <name>src</name> -          <direction>source</direction> -          <presence>always</presence> -          <details>audio/x-raw-float, width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details> -        </caps> -      </pads> -    </element> -    <element>        <name>audiowsincband</name>        <longname>Band pass & band reject filter</longname>        <class>Filter/Effect/Audio</class> diff --git a/docs/plugins/inspect/plugin-videocrop.xml b/docs/plugins/inspect/plugin-videocrop.xml index e197c99d..f1ebfe25 100644 --- a/docs/plugins/inspect/plugin-videocrop.xml +++ b/docs/plugins/inspect/plugin-videocrop.xml @@ -20,13 +20,13 @@            <name>src</name>            <direction>source</direction>            <presence>always</presence> -          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y800, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)16, endianness=(int)1234, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)15, endianness=(int)1234, red_mask=(int)31744, green_mask=(int)992, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details> +          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y800, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)16, endianness=(int)1234, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)15, endianness=(int)1234, red_mask=(int)31744, green_mask=(int)992, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>          </caps>          <caps>            <name>sink</name>            <direction>sink</direction>            <presence>always</presence> -          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y800, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)16, endianness=(int)1234, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)15, endianness=(int)1234, red_mask=(int)31744, green_mask=(int)992, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details> +          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y800, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)16, endianness=(int)1234, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)15, endianness=(int)1234, red_mask=(int)31744, green_mask=(int)992, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>          </caps>        </pads>      </element> diff --git a/gst/audiofx/Makefile.am b/gst/audiofx/Makefile.am index f4f02be2..22f5fd02 100644 --- a/gst/audiofx/Makefile.am +++ b/gst/audiofx/Makefile.am @@ -17,7 +17,7 @@ libgstaudiofx_la_SOURCES = audiofx.c\  	audiowsincband.c \  	audiowsinclimit.c \  	audiofirfilter.c \ -	audioreverb.c +	audioecho.c  # flags used to compile this plugin  libgstaudiofx_la_CFLAGS = $(GST_CFLAGS) \ @@ -47,6 +47,6 @@ noinst_HEADERS = audiopanorama.h \  	audiowsincband.h \          audiowsinclimit.h \  	audiofirfilter.h \ -	audioreverb.h \ +	audioecho.h \  	math_compat.h diff --git a/gst/audiofx/audioreverb.c b/gst/audiofx/audioecho.c index 2d661b16..04d51240 100644 --- a/gst/audiofx/audioreverb.c +++ b/gst/audiofx/audioecho.c @@ -19,15 +19,15 @@   */  /** - * SECTION:element-audioreverb + * SECTION:element-audioecho   *   * <refsect2> - * audioreverb adds an echo or revert effect to an audio stream. The echo - * reverb, intensity and the percentage of feedback can be configured. + * audioecho adds an echo or reverb effect to an audio stream. The echo + * delay, intensity and the percentage of feedback can be configured.   * <para>   * <programlisting> - * gst-launch filesrc location="melo1.ogg" ! audioconvert ! audioreverb reverb=500000000 intensity=0.6 feedback=0.4 ! audioconvert ! autoaudiosink - * gst-launch filesrc location="melo1.ogg" ! decodebin ! audioconvert ! audioreverb reverb=50000000 intensity=0.6 feedback=0.4 ! audioconvert ! autoaudiosink + * gst-launch filesrc location="melo1.ogg" ! audioconvert ! audioecho delay=500000000 intensity=0.6 feedback=0.4 ! audioconvert ! autoaudiosink + * gst-launch filesrc location="melo1.ogg" ! decodebin ! audioconvert ! audioecho delay=50000000 intensity=0.6 feedback=0.4 ! audioconvert ! autoaudiosink   * </programlisting>   * </para>   * </refsect2> @@ -45,9 +45,9 @@  #include <gst/audio/gstaudiofilter.h>  #include <gst/controller/gstcontroller.h> -#include "audioreverb.h" +#include "audioecho.h" -#define GST_CAT_DEFAULT gst_audio_reverb_debug +#define GST_CAT_DEFAULT gst_audio_echo_debug  GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);  enum @@ -66,37 +66,37 @@ enum      " channels=(int)[1,MAX]"  #define DEBUG_INIT(bla) \ -  GST_DEBUG_CATEGORY_INIT (gst_audio_reverb_debug, "audioreverb", 0, "audioreverb element"); +  GST_DEBUG_CATEGORY_INIT (gst_audio_echo_debug, "audioecho", 0, "audioecho element"); -GST_BOILERPLATE_FULL (GstAudioReverb, gst_audio_reverb, GstAudioFilter, +GST_BOILERPLATE_FULL (GstAudioEcho, gst_audio_echo, GstAudioFilter,      GST_TYPE_AUDIO_FILTER, DEBUG_INIT); -static void gst_audio_reverb_set_property (GObject * object, guint prop_id, +static void gst_audio_echo_set_property (GObject * object, guint prop_id,      const GValue * value, GParamSpec * pspec); -static void gst_audio_reverb_get_property (GObject * object, guint prop_id, +static void gst_audio_echo_get_property (GObject * object, guint prop_id,      GValue * value, GParamSpec * pspec); -static void gst_audio_reverb_finalize (GObject * object); +static void gst_audio_echo_finalize (GObject * object); -static gboolean gst_audio_reverb_setup (GstAudioFilter * self, +static gboolean gst_audio_echo_setup (GstAudioFilter * self,      GstRingBufferSpec * format); -static gboolean gst_audio_reverb_stop (GstBaseTransform * base); -static GstFlowReturn gst_audio_reverb_transform_ip (GstBaseTransform * base, +static gboolean gst_audio_echo_stop (GstBaseTransform * base); +static GstFlowReturn gst_audio_echo_transform_ip (GstBaseTransform * base,      GstBuffer * buf); -static void gst_audio_reverb_transform_float (GstAudioReverb * self, +static void gst_audio_echo_transform_float (GstAudioEcho * self,      gfloat * data, guint num_samples); -static void gst_audio_reverb_transform_double (GstAudioReverb * self, +static void gst_audio_echo_transform_double (GstAudioEcho * self,      gdouble * data, guint num_samples);  /* GObject vmethod implementations */  static void -gst_audio_reverb_base_init (gpointer klass) +gst_audio_echo_base_init (gpointer klass)  {    GstElementClass *element_class = GST_ELEMENT_CLASS (klass);    GstCaps *caps; -  gst_element_class_set_details_simple (element_class, "Audio reverb", +  gst_element_class_set_details_simple (element_class, "Audio echo",        "Filter/Effect/Audio",        "Adds an echo or reverb effect to an audio stream",        "Sebastian Dröge <sebastian.droege@collabora.co.uk>"); @@ -108,19 +108,19 @@ gst_audio_reverb_base_init (gpointer klass)  }  static void -gst_audio_reverb_class_init (GstAudioReverbClass * klass) +gst_audio_echo_class_init (GstAudioEchoClass * klass)  {    GObjectClass *gobject_class = (GObjectClass *) klass;    GstBaseTransformClass *basetransform_class = (GstBaseTransformClass *) klass;    GstAudioFilterClass *audioself_class = (GstAudioFilterClass *) klass; -  gobject_class->set_property = gst_audio_reverb_set_property; -  gobject_class->get_property = gst_audio_reverb_get_property; -  gobject_class->finalize = gst_audio_reverb_finalize; +  gobject_class->set_property = gst_audio_echo_set_property; +  gobject_class->get_property = gst_audio_echo_get_property; +  gobject_class->finalize = gst_audio_echo_finalize;    g_object_class_install_property (gobject_class, PROP_DELAY,        g_param_spec_uint64 ("delay", "Delay", -          "Delay of the echo in nanoseconds", 1, G_MAXUINT64, +          "Delay of the echo in nanosecondsecho", 1, G_MAXUINT64,            1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS            | GST_PARAM_CONTROLLABLE)); @@ -136,14 +136,14 @@ gst_audio_reverb_class_init (GstAudioReverbClass * klass)            0.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS            | GST_PARAM_CONTROLLABLE)); -  audioself_class->setup = GST_DEBUG_FUNCPTR (gst_audio_reverb_setup); +  audioself_class->setup = GST_DEBUG_FUNCPTR (gst_audio_echo_setup);    basetransform_class->transform_ip = -      GST_DEBUG_FUNCPTR (gst_audio_reverb_transform_ip); -  basetransform_class->stop = GST_DEBUG_FUNCPTR (gst_audio_reverb_stop); +      GST_DEBUG_FUNCPTR (gst_audio_echo_transform_ip); +  basetransform_class->stop = GST_DEBUG_FUNCPTR (gst_audio_echo_stop);  }  static void -gst_audio_reverb_init (GstAudioReverb * self, GstAudioReverbClass * klass) +gst_audio_echo_init (GstAudioEcho * self, GstAudioEchoClass * klass)  {    self->delay = 1;    self->intensity = 0.0; @@ -153,9 +153,9 @@ gst_audio_reverb_init (GstAudioReverb * self, GstAudioReverbClass * klass)  }  static void -gst_audio_reverb_finalize (GObject * object) +gst_audio_echo_finalize (GObject * object)  { -  GstAudioReverb *self = GST_AUDIO_REVERB (object); +  GstAudioEcho *self = GST_AUDIO_ECHO (object);    g_free (self->buffer);    self->buffer = NULL; @@ -164,10 +164,10 @@ gst_audio_reverb_finalize (GObject * object)  }  static void -gst_audio_reverb_set_property (GObject * object, guint prop_id, +gst_audio_echo_set_property (GObject * object, guint prop_id,      const GValue * value, GParamSpec * pspec)  { -  GstAudioReverb *self = GST_AUDIO_REVERB (object); +  GstAudioEcho *self = GST_AUDIO_ECHO (object);    switch (prop_id) {      case PROP_DELAY:{ @@ -181,9 +181,9 @@ gst_audio_reverb_set_property (GObject * object, guint prop_id,        channels = GST_AUDIO_FILTER (self)->format.channels;        if (self->buffer && rate > 0) { -        guint new_reverb = +        guint new_echo =              MAX (gst_util_uint64_scale (self->delay, rate, GST_SECOND), 1); -        guint new_size = new_reverb * width * channels; +        guint new_size = new_echo * width * channels;          if (new_size > self->buffer_size) {            guint i; @@ -198,7 +198,7 @@ gst_audio_reverb_set_property (GObject * object, guint prop_id,                              self->buffer_pos) % self->buffer_size_frames) *                      width * channels], channels * width);            } -          self->buffer_size_frames = self->delay_frames = new_reverb; +          self->buffer_size_frames = self->delay_frames = new_echo;            self->buffer_pos = 0;          }        } else if (self->buffer) { @@ -228,10 +228,10 @@ gst_audio_reverb_set_property (GObject * object, guint prop_id,  }  static void -gst_audio_reverb_get_property (GObject * object, guint prop_id, +gst_audio_echo_get_property (GObject * object, guint prop_id,      GValue * value, GParamSpec * pspec)  { -  GstAudioReverb *self = GST_AUDIO_REVERB (object); +  GstAudioEcho *self = GST_AUDIO_ECHO (object);    switch (prop_id) {      case PROP_DELAY: @@ -258,17 +258,17 @@ gst_audio_reverb_get_property (GObject * object, guint prop_id,  /* GstAudioFilter vmethod implementations */  static gboolean -gst_audio_reverb_setup (GstAudioFilter * base, GstRingBufferSpec * format) +gst_audio_echo_setup (GstAudioFilter * base, GstRingBufferSpec * format)  { -  GstAudioReverb *self = GST_AUDIO_REVERB (base); +  GstAudioEcho *self = GST_AUDIO_ECHO (base);    gboolean ret = TRUE;    if (format->type == GST_BUFTYPE_FLOAT && format->width == 32) -    self->process = (GstAudioReverbProcessFunc) -        gst_audio_reverb_transform_float; +    self->process = (GstAudioEchoProcessFunc) +        gst_audio_echo_transform_float;    else if (format->type == GST_BUFTYPE_FLOAT && format->width == 64) -    self->process = (GstAudioReverbProcessFunc) -        gst_audio_reverb_transform_double; +    self->process = (GstAudioEchoProcessFunc) +        gst_audio_echo_transform_double;    else      ret = FALSE; @@ -282,9 +282,9 @@ gst_audio_reverb_setup (GstAudioFilter * base, GstRingBufferSpec * format)  }  static gboolean -gst_audio_reverb_stop (GstBaseTransform * base) +gst_audio_echo_stop (GstBaseTransform * base)  { -  GstAudioReverb *self = GST_AUDIO_REVERB (base); +  GstAudioEcho *self = GST_AUDIO_ECHO (base);    g_free (self->buffer);    self->buffer = NULL; @@ -297,30 +297,30 @@ gst_audio_reverb_stop (GstBaseTransform * base)  #define TRANSFORM_FUNC(name, type) \  static void \ -gst_audio_reverb_transform_##name (GstAudioReverb * self, \ +gst_audio_echo_transform_##name (GstAudioEcho * self, \      type * data, guint num_samples) \  { \    type *buffer = (type *) self->buffer; \    guint channels = GST_AUDIO_FILTER (self)->format.channels; \    guint rate = GST_AUDIO_FILTER (self)->format.rate; \    guint i, j; \ -  guint reverb_index = self->buffer_size_frames - self->delay_frames; \ -  gdouble reverb_off = ((((gdouble) self->delay) * rate) / GST_SECOND) - self->delay_frames; \ +  guint echo_index = self->buffer_size_frames - self->delay_frames; \ +  gdouble echo_off = ((((gdouble) self->delay) * rate) / GST_SECOND) - self->delay_frames; \    \ -  if (reverb_off < 0.0) \ -    reverb_off = 0.0; \ +  if (echo_off < 0.0) \ +    echo_off = 0.0; \    \    num_samples /= channels; \    \    for (i = 0; i < num_samples; i++) { \ -    guint echo0_index = ((reverb_index + self->buffer_pos) % self->buffer_size_frames) * channels; \ -    guint echo1_index = ((reverb_index + self->buffer_pos +1) % self->buffer_size_frames) * channels; \ +    guint echo0_index = ((echo_index + self->buffer_pos) % self->buffer_size_frames) * channels; \ +    guint echo1_index = ((echo_index + self->buffer_pos +1) % self->buffer_size_frames) * channels; \      guint rbout_index = (self->buffer_pos % self->buffer_size_frames) * channels; \      for (j = 0; j < channels; j++) { \        gdouble in = data[i*channels + j]; \        gdouble echo0 = buffer[echo0_index + j]; \        gdouble echo1 = buffer[echo1_index + j]; \ -      gdouble echo = echo0 + (echo1-echo0)*reverb_off; \ +      gdouble echo = echo0 + (echo1-echo0)*echo_off; \        type out = in + self->intensity * echo; \        \        data[i*channels + j] = out; \ @@ -336,9 +336,9 @@ TRANSFORM_FUNC (double, gdouble);  /* GstBaseTransform vmethod implementations */  static GstFlowReturn -gst_audio_reverb_transform_ip (GstBaseTransform * base, GstBuffer * buf) +gst_audio_echo_transform_ip (GstBaseTransform * base, GstBuffer * buf)  { -  GstAudioReverb *self = GST_AUDIO_REVERB (base); +  GstAudioEcho *self = GST_AUDIO_ECHO (base);    guint num_samples =        GST_BUFFER_SIZE (buf) / (GST_AUDIO_FILTER (self)->format.width / 8); diff --git a/gst/audiofx/audioreverb.h b/gst/audiofx/audioecho.h index 3ef5682e..9513bb8e 100644 --- a/gst/audiofx/audioreverb.h +++ b/gst/audiofx/audioecho.h @@ -18,8 +18,8 @@   * Boston, MA 02111-1307, USA.   */ -#ifndef __GST_AUDIO_REVERB_H__ -#define __GST_AUDIO_REVERB_H__ +#ifndef __GST_AUDIO_ECHO_H__ +#define __GST_AUDIO_ECHO_H__  #include <gst/gst.h>  #include <gst/base/gstbasetransform.h> @@ -28,18 +28,18 @@  G_BEGIN_DECLS -#define GST_TYPE_AUDIO_REVERB            (gst_audio_reverb_get_type()) -#define GST_AUDIO_REVERB(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_REVERB,GstAudioReverb)) -#define GST_IS_AUDIO_REVERB(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_REVERB)) -#define GST_AUDIO_REVERB_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_AUDIO_REVERB,GstAudioReverbClass)) -#define GST_IS_AUDIO_REVERB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_AUDIO_REVERB)) -#define GST_AUDIO_REVERB_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_AUDIO_REVERB,GstAudioReverbClass)) -typedef struct _GstAudioReverb GstAudioReverb; -typedef struct _GstAudioReverbClass GstAudioReverbClass; +#define GST_TYPE_AUDIO_ECHO            (gst_audio_echo_get_type()) +#define GST_AUDIO_ECHO(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_ECHO,GstAudioEcho)) +#define GST_IS_AUDIO_ECHO(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_ECHO)) +#define GST_AUDIO_ECHO_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_AUDIO_ECHO,GstAudioEchoClass)) +#define GST_IS_AUDIO_ECHO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_AUDIO_ECHO)) +#define GST_AUDIO_ECHO_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_AUDIO_ECHO,GstAudioEchoClass)) +typedef struct _GstAudioEcho GstAudioEcho; +typedef struct _GstAudioEchoClass GstAudioEchoClass; -typedef void (*GstAudioReverbProcessFunc) (GstAudioReverb *, guint8 *, guint); +typedef void (*GstAudioEchoProcessFunc) (GstAudioEcho *, guint8 *, guint); -struct _GstAudioReverb +struct _GstAudioEcho  {    GstAudioFilter audiofilter; @@ -48,7 +48,7 @@ struct _GstAudioReverb    gfloat feedback;    /* < private > */ -  GstAudioReverbProcessFunc process; +  GstAudioEchoProcessFunc process;    guint delay_frames;    guint8 *buffer;    guint buffer_pos; @@ -56,13 +56,13 @@ struct _GstAudioReverb    guint buffer_size_frames;  }; -struct _GstAudioReverbClass +struct _GstAudioEchoClass  {    GstAudioFilterClass parent;  }; -GType gst_audio_reverb_get_type (void); +GType gst_audio_echo_get_type (void);  G_END_DECLS -#endif /* __GST_AUDIO_REVERB_H__ */ +#endif /* __GST_AUDIO_ECHO_H__ */ diff --git a/gst/audiofx/audiofx.c b/gst/audiofx/audiofx.c index e23a638f..a268724d 100644 --- a/gst/audiofx/audiofx.c +++ b/gst/audiofx/audiofx.c @@ -36,7 +36,7 @@  #include "audiowsincband.h"  #include "audiowsinclimit.h"  #include "audiofirfilter.h" -#include "audioreverb.h" +#include "audioecho.h"  /* entry point to initialize the plug-in   * initialize the plug-in itself @@ -71,8 +71,8 @@ plugin_init (GstPlugin * plugin)            GST_TYPE_AUDIO_WSINC_BAND) &&        gst_element_register (plugin, "audiofirfilter", GST_RANK_NONE,            GST_TYPE_AUDIO_FIR_FILTER) && -      gst_element_register (plugin, "audioreverb", GST_RANK_NONE, -          GST_TYPE_AUDIO_REVERB)); +      gst_element_register (plugin, "audioecho", GST_RANK_NONE, +          GST_TYPE_AUDIO_ECHO));  }  GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am index ee0afdc9..89a151c4 100644 --- a/tests/check/Makefile.am +++ b/tests/check/Makefile.am @@ -74,7 +74,7 @@ check_PROGRAMS = \  	elements/audiocheblimit \  	elements/audioiirfilter \  	elements/audioamplify \ -	elements/audioreverb \ +	elements/audioecho \  	elements/audiodynamic \  	elements/audiowsincband \  	elements/audiowsinclimit \ diff --git a/tests/check/elements/audioreverb.c b/tests/check/elements/audioecho.c index cafe8bbe..aa259a21 100644 --- a/tests/check/elements/audioreverb.c +++ b/tests/check/elements/audioecho.c @@ -27,7 +27,7 @@ gboolean have_eos = FALSE;   * get_peer, and then remove references in every test function */  GstPad *mysrcpad, *mysinkpad; -#define REVERB_CAPS_STRING    \ +#define ECHO_CAPS_STRING    \      "audio/x-raw-float, "               \      "channels = (int) 2, "              \      "rate = (int) 100000, "             \ @@ -52,24 +52,24 @@ static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",      );  GstElement * -setup_reverb () +setup_echo ()  { -  GstElement *reverb; +  GstElement *echo; -  GST_DEBUG ("setup_reverb"); -  reverb = gst_check_setup_element ("audioreverb"); -  mysrcpad = gst_check_setup_src_pad (reverb, &srctemplate, NULL); -  mysinkpad = gst_check_setup_sink_pad (reverb, &sinktemplate, NULL); +  GST_DEBUG ("setup_echo"); +  echo = gst_check_setup_element ("audioecho"); +  mysrcpad = gst_check_setup_src_pad (echo, &srctemplate, NULL); +  mysinkpad = gst_check_setup_sink_pad (echo, &sinktemplate, NULL);    gst_pad_set_active (mysrcpad, TRUE);    gst_pad_set_active (mysinkpad, TRUE); -  return reverb; +  return echo;  }  void -cleanup_reverb (GstElement * reverb) +cleanup_echo (GstElement * echo)  { -  GST_DEBUG ("cleanup_reverb"); +  GST_DEBUG ("cleanup_echo");    g_list_foreach (buffers, (GFunc) gst_mini_object_unref, NULL);    g_list_free (buffers); @@ -77,30 +77,30 @@ cleanup_reverb (GstElement * reverb)    gst_pad_set_active (mysrcpad, FALSE);    gst_pad_set_active (mysinkpad, FALSE); -  gst_check_teardown_src_pad (reverb); -  gst_check_teardown_sink_pad (reverb); -  gst_check_teardown_element (reverb); +  gst_check_teardown_src_pad (echo); +  gst_check_teardown_sink_pad (echo); +  gst_check_teardown_element (echo);  }  GST_START_TEST (test_passthrough)  { -  GstElement *reverb; +  GstElement *echo;    GstBuffer *inbuffer, *outbuffer;    GstCaps *caps;    gdouble in[] = { 1.0, -1.0, 0.0, 0.5, -0.5, 0.0 };    gdouble *res; -  reverb = setup_reverb (); -  g_object_set (G_OBJECT (reverb), "delay", 1, "intensity", 0.0, "feedback", +  echo = setup_echo (); +  g_object_set (G_OBJECT (echo), "delay", 1, "intensity", 0.0, "feedback",        0.0, NULL); -  fail_unless (gst_element_set_state (reverb, +  fail_unless (gst_element_set_state (echo,            GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,        "could not set to playing");    inbuffer = gst_buffer_new_and_alloc (sizeof (in));    memcpy (GST_BUFFER_DATA (inbuffer), in, sizeof (in));    fail_unless (memcmp (GST_BUFFER_DATA (inbuffer), in, sizeof (in)) == 0); -  caps = gst_caps_from_string (REVERB_CAPS_STRING); +  caps = gst_caps_from_string (ECHO_CAPS_STRING);    gst_buffer_set_caps (inbuffer, caps);    gst_caps_unref (caps);    ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1); @@ -119,31 +119,31 @@ GST_START_TEST (test_passthrough)    fail_unless (memcmp (GST_BUFFER_DATA (outbuffer), in, sizeof (in)) == 0);    /* cleanup */ -  cleanup_reverb (reverb); +  cleanup_echo (echo);  }  GST_END_TEST; -GST_START_TEST (test_reverb) +GST_START_TEST (test_echo)  { -  GstElement *reverb; +  GstElement *echo;    GstBuffer *inbuffer, *outbuffer;    GstCaps *caps;    gdouble in[] = { 1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, };    gdouble out[] = { 1.0, -1.0, 0.0, 0.0, 1.0, -1.0, 0.0, 0.0, 0.0, 0.0 };    gdouble *res; -  reverb = setup_reverb (); -  g_object_set (G_OBJECT (reverb), "delay", 20000, "intensity", 1.0, "feedback", +  echo = setup_echo (); +  g_object_set (G_OBJECT (echo), "delay", 20000, "intensity", 1.0, "feedback",        0.0, NULL); -  fail_unless (gst_element_set_state (reverb, +  fail_unless (gst_element_set_state (echo,            GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,        "could not set to playing");    inbuffer = gst_buffer_new_and_alloc (sizeof (in));    memcpy (GST_BUFFER_DATA (inbuffer), in, sizeof (in));    fail_unless (memcmp (GST_BUFFER_DATA (inbuffer), in, sizeof (in)) == 0); -  caps = gst_caps_from_string (REVERB_CAPS_STRING); +  caps = gst_caps_from_string (ECHO_CAPS_STRING);    gst_buffer_set_caps (inbuffer, caps);    gst_caps_unref (caps);    ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1); @@ -163,31 +163,31 @@ GST_START_TEST (test_reverb)    fail_unless (memcmp (GST_BUFFER_DATA (outbuffer), out, sizeof (out)) == 0);    /* cleanup */ -  cleanup_reverb (reverb); +  cleanup_echo (echo);  }  GST_END_TEST;  GST_START_TEST (test_feedback)  { -  GstElement *reverb; +  GstElement *echo;    GstBuffer *inbuffer, *outbuffer;    GstCaps *caps;    gdouble in[] = { 1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, };    gdouble out[] = { 1.0, -1.0, 0.0, 0.0, 1.0, -1.0, 0.0, 0.0, 1.0, -1.0 };    gdouble *res; -  reverb = setup_reverb (); -  g_object_set (G_OBJECT (reverb), "delay", 20000, "intensity", 1.0, "feedback", +  echo = setup_echo (); +  g_object_set (G_OBJECT (echo), "delay", 20000, "intensity", 1.0, "feedback",        1.0, NULL); -  fail_unless (gst_element_set_state (reverb, +  fail_unless (gst_element_set_state (echo,            GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,        "could not set to playing");    inbuffer = gst_buffer_new_and_alloc (sizeof (in));    memcpy (GST_BUFFER_DATA (inbuffer), in, sizeof (in));    fail_unless (memcmp (GST_BUFFER_DATA (inbuffer), in, sizeof (in)) == 0); -  caps = gst_caps_from_string (REVERB_CAPS_STRING); +  caps = gst_caps_from_string (ECHO_CAPS_STRING);    gst_buffer_set_caps (inbuffer, caps);    gst_caps_unref (caps);    ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1); @@ -207,23 +207,23 @@ GST_START_TEST (test_feedback)    fail_unless (memcmp (GST_BUFFER_DATA (outbuffer), out, sizeof (out)) == 0);    /* cleanup */ -  cleanup_reverb (reverb); +  cleanup_echo (echo);  }  GST_END_TEST;  static Suite * -audioreverb_suite (void) +audioecho_suite (void)  { -  Suite *s = suite_create ("audioreverb"); +  Suite *s = suite_create ("audioecho");    TCase *tc_chain = tcase_create ("general");    suite_add_tcase (s, tc_chain);    tcase_add_test (tc_chain, test_passthrough); -  tcase_add_test (tc_chain, test_reverb); +  tcase_add_test (tc_chain, test_echo);    tcase_add_test (tc_chain, test_feedback);    return s;  } -GST_CHECK_MAIN (audioreverb); +GST_CHECK_MAIN (audioecho);  | 
