summaryrefslogtreecommitdiffstats
path: root/gst/audiofx/audiofx.c
Commit message (Collapse)AuthorAgeFilesLines
* Rename audioreverb to audioecho. Fixes bug #568395.Sebastian Dröge2009-01-221-3/+3
| | | | | | | The element can add an echo and a simple reverb effect to an audio stream but for a real reverb filter it would need some additional filtering to prevent a metallic-sounding result.
* Add an echo/reverb filter to the audiofx plugin, with configurable echo ↵Sebastian Dröge2009-01-191-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add audioiirfilter and audiofirfilter elements which allow generic IIR/FIR ↵Sebastian Dröge2009-01-131-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filters to be implemented by providing the... Original commit message from CVS: * configure.ac: * gst/audiofx/Makefile.am: * gst/audiofx/audiofirfilter.c: (gst_audio_fir_filter_base_init), (gst_audio_fir_filter_class_init), (gst_audio_fir_filter_update_kernel), (gst_audio_fir_filter_init), (gst_audio_fir_filter_setup), (gst_audio_fir_filter_finalize), (gst_audio_fir_filter_set_property), (gst_audio_fir_filter_get_property): * gst/audiofx/audiofirfilter.h: * gst/audiofx/audiofx.c: (plugin_init): * gst/audiofx/audioiirfilter.c: (gst_audio_iir_filter_base_init), (gst_audio_iir_filter_class_init), (gst_audio_iir_filter_update_coefficients), (gst_audio_iir_filter_init), (gst_audio_iir_filter_setup), (gst_audio_iir_filter_finalize), (gst_audio_iir_filter_set_property), (gst_audio_iir_filter_get_property): * gst/audiofx/audioiirfilter.h: Add audioiirfilter and audiofirfilter elements which allow generic IIR/FIR filters to be implemented by providing the filter coefficients. Fixes bug #567577. * 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/gst-plugins-good-plugins.signals: * docs/plugins/inspect/plugin-alaw.xml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-flac.xml: * docs/plugins/inspect/plugin-mulaw.xml: * docs/plugins/inspect/plugin-video4linux2.xml: * docs/plugins/inspect/plugin-wavparse.xml: Add documentation for the audioiirfilter and audiofirfilter elements. * tests/check/Makefile.am: * tests/check/elements/audiofirfilter.c: (on_message), (on_rate_changed), (on_handoff), (GST_START_TEST), (audiofirfilter_suite): * tests/check/elements/audioiirfilter.c: (on_message), (on_rate_changed), (on_handoff), (GST_START_TEST), (audioiirfilter_suite): * tests/examples/Makefile.am: * tests/examples/audiofx/Makefile.am: * tests/examples/audiofx/firfilter-example.c: (on_message), (on_rate_changed), (main): * tests/examples/audiofx/iirfilter-example.c: (on_message), (on_rate_changed), (main): Add unit tests and example applications for the two filter elements.
* Rename audiovoice to audiokaraoke and add it to the docs.Stefan Kost2008-05-281-3/+3
| | | | | | | | | | | | | | | | | 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: * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: * gst/audiofx/audiokaraoke.c: * gst/audiofx/audiokaraoke.h: * gst/audiofx/audiovoice.c: * gst/audiofx/audiovoice.h: Rename audiovoice to audiokaraoke and add it to the docs.
* gst/audiofx/: Add simple voice removal element. Yay karaoke.Wim Taymans2008-05-261-0/+3
| | | | | | | | | | | | | | Original commit message from CVS: * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: (plugin_init): * gst/audiofx/audiovoice.c: (gst_audio_voice_base_init), (gst_audio_voice_class_init), (gst_audio_voice_init), (update_filter), (gst_audio_voice_set_property), (gst_audio_voice_get_property), (gst_audio_voice_setup), (gst_audio_voice_transform_int), (gst_audio_voice_transform_float), (gst_audio_voice_transform_ip): * gst/audiofx/audiovoice.h: Add simple voice removal element. Yay karaoke.
* gst/audiofx/audiofx.c: Use GST_LICENSE, GST_PACKAGE_NAME and ↵Sebastian Dröge2008-03-131-1/+1
| | | | | | | | | GST_PACKAGE_ORIGIN instead of hardcoding values. Original commit message from CVS: * gst/audiofx/audiofx.c: Use GST_LICENSE, GST_PACKAGE_NAME and GST_PACKAGE_ORIGIN instead of hardcoding values.
* Move the lpwsinc and bpwsinc elements from gst-plugins-bad into the audiofx ↵Jan Schmidt2008-02-071-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | plugin, and rename to audiowsinclimit and... 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/inspect/plugin-audiofx.xml: * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: * gst/audiofx/audiowsincband.c: * gst/audiofx/audiowsincband.h: * gst/audiofx/audiowsinclimit.c: * gst/audiofx/audiowsinclimit.h: * tests/check/Makefile.am: * tests/check/elements/audiowsincband.c: * tests/check/elements/audiowsinclimit.c: Move the lpwsinc and bpwsinc elements from gst-plugins-bad into the audiofx plugin, and rename to audiowsinclimit and audiowsincband respectively. Fixes: #467666
* Rename audiochebyshevfreqband -> audiochebband and audiochebyshevfreqlimit ↵Jan Schmidt2008-02-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -> audiocheblimit and do the requisite CVS... 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/inspect/plugin-audiofx.xml: * gst/audiofx/Makefile.am: * gst/audiofx/audiochebband.c: * gst/audiofx/audiochebband.h: * gst/audiofx/audiocheblimit.c: * gst/audiofx/audiocheblimit.h: * gst/audiofx/audiochebyshevfreqband.c: * gst/audiofx/audiochebyshevfreqband.h: * gst/audiofx/audiochebyshevfreqlimit.c: * gst/audiofx/audiochebyshevfreqlimit.h: * gst/audiofx/audiofx.c: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/audiochebband.c: * tests/check/elements/audiocheblimit.c: * tests/check/elements/audiochebyshevfreqband.c: * tests/check/elements/audiochebyshevfreqlimit.c: Rename audiochebyshevfreqband -> audiochebband and audiochebyshevfreqlimit -> audiocheblimit and do the requisite CVS surgery. Closes: #491811
* gst/audiofx/: Add Chebyshev lowpass/highpass and bandpass/bandreject elements.Sebastian Dröge2007-08-161-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: reviewed by: Stefan Kost <ensonic@users.sf.net> * gst/audiofx/Makefile.am: * gst/audiofx/audiochebyshevfreqband.c: (gst_audio_chebyshev_freq_band_mode_get_type), (gst_audio_chebyshev_freq_band_base_init), (gst_audio_chebyshev_freq_band_dispose), (gst_audio_chebyshev_freq_band_class_init), (gst_audio_chebyshev_freq_band_init), (generate_biquad_coefficients), (calculate_gain), (generate_coefficients), (gst_audio_chebyshev_freq_band_set_property), (gst_audio_chebyshev_freq_band_get_property), (gst_audio_chebyshev_freq_band_setup), (process), (process_64), (process_32), (gst_audio_chebyshev_freq_band_transform_ip), (gst_audio_chebyshev_freq_band_start): * gst/audiofx/audiochebyshevfreqband.h: * gst/audiofx/audiochebyshevfreqlimit.c: (gst_audio_chebyshev_freq_limit_mode_get_type), (gst_audio_chebyshev_freq_limit_base_init), (gst_audio_chebyshev_freq_limit_dispose), (gst_audio_chebyshev_freq_limit_class_init), (gst_audio_chebyshev_freq_limit_init), (generate_biquad_coefficients), (calculate_gain), (generate_coefficients), (gst_audio_chebyshev_freq_limit_set_property), (gst_audio_chebyshev_freq_limit_get_property), (gst_audio_chebyshev_freq_limit_setup), (process), (process_64), (process_32), (gst_audio_chebyshev_freq_limit_transform_ip), (gst_audio_chebyshev_freq_limit_start): * gst/audiofx/audiochebyshevfreqlimit.h: * gst/audiofx/audiofx.c: (plugin_init): Add Chebyshev lowpass/highpass and bandpass/bandreject elements. Fixes #464800. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/audiochebyshevfreqband.c: (setup_audiochebyshevfreqband), (cleanup_audiochebyshevfreqband), (GST_START_TEST), (audiochebyshevfreqband_suite), (main): * tests/check/elements/audiochebyshevfreqlimit.c: (setup_audiochebyshevfreqlimit), (cleanup_audiochebyshevfreqlimit), (GST_START_TEST), (audiochebyshevfreqlimit_suite), (main): Add unit tests for the chebyshev filters. * 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/inspect/plugin-1394.xml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-dv.xml: * docs/plugins/inspect/plugin-flac.xml: * docs/plugins/inspect/plugin-jpeg.xml: * docs/plugins/inspect/plugin-png.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-shout2send.xml: * docs/plugins/inspect/plugin-wavpack.xml: And add docs for the chebyshev filters. While doing that also run make update in docs/plugins.
* gst/audiofx/: Add new audiodynamic element which can act as a compressor or ↵Sebastian Dröge2007-03-081-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | expander. Supported are hard-knee and sof... Original commit message from CVS: reviewed by: Stefan Kost <ensonic@users.sf.net> * gst/audiofx/Makefile.am: * gst/audiofx/audiodynamic.c: (gst_audio_dynamic_characteristics_get_type), (gst_audio_dynamic_mode_get_type), (gst_audio_dynamic_set_process_function), (gst_audio_dynamic_base_init), (gst_audio_dynamic_class_init), (gst_audio_dynamic_init), (gst_audio_dynamic_set_property), (gst_audio_dynamic_get_property), (gst_audio_dynamic_setup), (gst_audio_dynamic_transform_hard_knee_compressor_int), (gst_audio_dynamic_transform_hard_knee_compressor_float), (gst_audio_dynamic_transform_soft_knee_compressor_int), (gst_audio_dynamic_transform_soft_knee_compressor_float), (gst_audio_dynamic_transform_hard_knee_expander_int), (gst_audio_dynamic_transform_hard_knee_expander_float), (gst_audio_dynamic_transform_soft_knee_expander_int), (gst_audio_dynamic_transform_soft_knee_expander_float), (gst_audio_dynamic_transform_ip): * gst/audiofx/audiodynamic.h: * gst/audiofx/audiofx.c: (plugin_init): Add new audiodynamic element which can act as a compressor or expander. Supported are hard-knee and soft-knee operation modes with user-specified ratio and threshold. Attack and release parameters are not yet implemented but will follow. * 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/inspect/plugin-audiofx.xml: Integrate audiodynamic into the docs. * tests/check/Makefile.am: * tests/check/elements/audiodynamic.c: (setup_dynamic), (cleanup_dynamic), (GST_START_TEST), (dynamic_suite), (main): Add unit test for audiodynamic.
* gst/audiofx/: Add new element "audioamplify". This allows scaling of raw ↵Sebastian Dröge2007-01-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | audio samples, similar to the "volume" eleme... Original commit message from CVS: reviewed by: Stefan Kost <ensonic@users.sf.net> * gst/audiofx/Makefile.am: * gst/audiofx/audioamplify.c: (gst_audio_amplify_clipping_method_get_type), (gst_audio_amplify_base_init), (gst_audio_amplify_class_init), (gst_audio_amplify_init), (gst_audio_amplify_set_process_function), (gst_audio_amplify_set_property), (gst_audio_amplify_get_property), (gst_audio_amplify_set_caps), (gst_audio_amplify_transform_int_clip), (gst_audio_amplify_transform_int_wrap_negative), (gst_audio_amplify_transform_int_wrap_positive), (gst_audio_amplify_transform_float_clip), (gst_audio_amplify_transform_float_wrap_negative), (gst_audio_amplify_transform_float_wrap_positive), (gst_audio_amplify_transform_ip): * gst/audiofx/audioamplify.h: * gst/audiofx/audiofx.c: (plugin_init): Add new element "audioamplify". This allows scaling of raw audio samples, similar to the "volume" element, but provides different modes for clipping and allows unlimited amplification. It's mainly targeted for creative sound design and not as a replacement of the "volume" element. Fixes #397162 * 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/inspect/plugin-audiofx.xml: Add docs for audioamplify and integrate them into the build system * tests/check/Makefile.am: * tests/check/elements/audioamplify.c: (setup_amplify), (cleanup_amplify), (GST_START_TEST), (amplify_suite), (main): Add fairly extensive unit test suite for audioamplify
* gst/audiofx/: Add new audiofx element "audioinvert". This element swaps the ↵Sebastian Dröge2007-01-231-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | upper and lower half of samples and can b... Original commit message from CVS: reviewed by: Stefan Kost <ensonic@users.sf.net> * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: (plugin_init): * gst/audiofx/audioinvert.c: (gst_audio_invert_base_init), (gst_audio_invert_class_init), (gst_audio_invert_init), (gst_audio_invert_set_property), (gst_audio_invert_get_property), (gst_audio_invert_set_caps), (gst_audio_invert_transform_int), (gst_audio_invert_transform_float), (gst_audio_invert_transform_ip): * gst/audiofx/audioinvert.h: Add new audiofx element "audioinvert". This element swaps the upper and lower half of samples and can be used for example for a wide-stereo effect. Fixes #396057 * 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/inspect/plugin-audiofx.xml: Add docs for the audioinvert element and add them to the build system. * tests/check/Makefile.am: * tests/check/elements/audioinvert.c: (setup_invert), (cleanup_invert), (GST_START_TEST), (invert_suite), (main): Add unit test suite for the audioinvert element.
* Rename again (audiofxgood -> audiofx).Stefan Kost2006-08-271-1/+1
| | | | | | | | | | | | | | | | Original commit message from CVS: * configure.ac: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-audiofxgood.xml: * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: * gst/audiofxgood/.cvsignore: * gst/audiofxgood/Makefile.am: * gst/audiofxgood/audiofx.c: * gst/audiofxgood/audiopanorama.c: * gst/audiofxgood/audiopanorama.h: Rename again (audiofxgood -> audiofx).
* gst/audiofxgood/: resubmit with the desired name *again*Stefan Kost2006-08-211-0/+49
Original commit message from CVS: * gst/audiofxgood/.cvsignore: * gst/audiofxgood/Makefile.am: * gst/audiofxgood/audiofx.c: (plugin_init): * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_base_init), (gst_audio_panorama_class_init), (gst_audio_panorama_init), (gst_audio_panorama_set_property), (gst_audio_panorama_get_property), (gst_audio_panorama_get_unit_size), (gst_audio_panorama_transform_caps), (gst_audio_panorama_set_caps), (gst_audio_panorama_transform_m2s), (gst_audio_panorama_transform_s2s), (gst_audio_panorama_transform): * gst/audiofxgood/audiopanorama.h: resubmit with the desired name *again*