summaryrefslogtreecommitdiffstats
path: root/gst/audiofx
Commit message (Collapse)AuthorAgeFilesLines
* gst/filter/: The transform() methods are not called in passthrough mode so ↵Sebastian Dröge2007-12-062-8/+0
| | | | | | | | | | there's no need for checking if the elemen... Original commit message from CVS: * gst/filter/gstbpwsinc.c: (bpwsinc_transform): * gst/filter/gstlpwsinc.c: (lpwsinc_transform): The transform() methods are not called in passthrough mode so there's no need for checking if the element is in passthrough mode.
* gst/filter/: Sync the GObject properties with the controller even in ↵Sebastian Dröge2007-12-062-9/+8
| | | | | | | | | | passthrough mode to get consistent property values. Original commit message from CVS: * gst/filter/gstbpwsinc.c: (bpwsinc_transform): * gst/filter/gstlpwsinc.c: (lpwsinc_transform): Sync the GObject properties with the controller even in passthrough mode to get consistent property values.
* gst/audiofx/: The transform_ip() methods should do nothing if in passthrough ↵Sebastian Dröge2007-12-068-18/+15
| | | | | | | | | | | | | | | | | | | mode. Original commit message from CVS: * gst/audiofx/audioamplify.c: (gst_audio_amplify_transform_ip): * gst/audiofx/audiochebyshevfreqband.c: (gst_audio_chebyshev_freq_band_transform_ip): * gst/audiofx/audiochebyshevfreqlimit.c: (gst_audio_chebyshev_freq_limit_transform_ip): * gst/audiofx/audiodynamic.c: (gst_audio_dynamic_transform_ip): * gst/audiofx/audioinvert.c: (gst_audio_invert_transform_ip): The transform_ip() methods should do nothing if in passthrough mode. It might get non-writable buffers in that case but the buffer might as well be writable. * gst/audiofx/audiopanorama.c: (gst_audio_panorama_transform): The transform() methods won't be called in passthrough mode and otherwise the buffer is always writable so don't check here.
* gst/filter/: Post a GST_MESSAGE_LATENCY if the latency changes.Sebastian Dröge2007-11-212-0/+4
| | | | | | | Original commit message from CVS: * gst/filter/gstbpwsinc.c: (bpwsinc_set_property): * gst/filter/gstlpwsinc.c: (lpwsinc_set_property): Post a GST_MESSAGE_LATENCY if the latency changes.
* gst/: Fix compiler warnings shown with Forte.Jan Schmidt2007-09-171-1/+1
| | | | | | | | | | Original commit message from CVS: * gst/audiofx/audiodynamic.c: (gst_audio_dynamic_class_init): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream), (new_session_pad), (request_pt_map), (gst_rtspsrc_do_stream_eos), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_handle_message): Fix compiler warnings shown with Forte.
* gst/audiofx/Makefile.am: Dist the right file.Jan Schmidt2007-08-271-1/+1
| | | | | | Original commit message from CVS: * gst/audiofx/Makefile.am: Dist the right file.
* gst/filter/: Add small comparision with the chebyshev filters in the docs.Sebastian Dröge2007-08-192-2/+10
| | | | | | | Original commit message from CVS: * gst/filter/gstbpwsinc.c: * gst/filter/gstlpwsinc.c: Add small comparision with the chebyshev filters in the docs.
* gst/audiofx/: Add small comparision with the windowed sinc filters in the docs.Sebastian Dröge2007-08-194-0/+20
| | | | | | | Original commit message from CVS: * gst/audiofx/audiochebyshevfreqband.c: * gst/audiofx/audiochebyshevfreqlimit.c: Add small comparision with the windowed sinc filters in the docs.
* Use generator macros for the process functions for the different sample ↵Sebastian Dröge2007-08-174-178/+110
| | | | | | | | | | | | | | | | | | | | | | | | types, add lower upper boundaries for the GOb... Original commit message from CVS: * gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init), (bpwsinc_set_property), (bpwsinc_get_property): * gst/filter/gstbpwsinc.h: * gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init), (gst_lpwsinc_init), (lpwsinc_build_kernel), (lpwsinc_set_property), (lpwsinc_get_property): * gst/filter/gstlpwsinc.h: * tests/check/elements/lpwsinc.c: (GST_START_TEST): Use generator macros for the process functions for the different sample types, add lower upper boundaries for the GObject properties so automatically generated UIs can use sliders and change frequency properties to floats to save a bit of memory, even ints would in theory be enough. Also rename frequency to cutoff for consistency reasons. * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.signals: * docs/plugins/inspect/plugin-gstrtpmanager.xml: Regenerated for the above changes.
* gst/audiofx/: Use generator macros for the process functions for the ↵Sebastian Dröge2007-08-174-114/+120
| | | | | | | | | | | | | | | | | different sample types, add lower upper boundari... Original commit message from CVS: * gst/audiofx/audiochebyshevfreqband.c: (gst_audio_chebyshev_freq_band_class_init): * gst/audiofx/audiochebyshevfreqlimit.c: (gst_audio_chebyshev_freq_limit_class_init): Use generator macros for the process functions for the different sample types, add lower upper boundaries for the GObject properties so automatically generated UIs can use sliders and add a note about the number of poles as a too high number of poles combined with very low or very high frequencies will produce only noise. * docs/plugins/gst-plugins-good-plugins.args: Regenerated for the property changes.
* gst/filter/gstbpwsinc.*: Implement latency query and only forward those ↵Sebastian Dröge2007-08-163-8/+300
| | | | | | | | | | | | | | | | | | | | samples downstream that actually contain the ... Original commit message from CVS: * gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init), (gst_bpwsinc_init), (process_32), (process_64), (bpwsinc_build_kernel), (bpwsinc_push_residue), (bpwsinc_transform), (bpwsinc_start), (bpwsinc_query), (bpwsinc_query_type), (bpwsinc_event), (bpwsinc_set_property): * gst/filter/gstbpwsinc.h: Implement latency query and only forward those samples downstream that actually contain the data we want, i.e. drop kernel_length/2 in the beginning and append kernel_length/2 (created by convolving the filter kernel with zeroes) to the end. * tests/check/elements/bpwsinc.c: (GST_START_TEST): Adjust the unit test for this slightly changed behaviour. * gst/filter/gstlpwsinc.c: (lpwsinc_build_kernel): Reset residue length only when actually creating a residue.
* gst/audiofx/: Add Chebyshev lowpass/highpass and bandpass/bandreject elements.Sebastian Dröge2007-08-1610-4/+3793
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/filter/gstlpwsinc.*: Implement latency query and only forward those ↵Sebastian Dröge2007-08-162-6/+295
| | | | | | | | | | | | | | | | | | samples downstream that actually contain the ... Original commit message from CVS: * gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init), (gst_lpwsinc_init), (process_32), (process_64), (lpwsinc_build_kernel), (lpwsinc_push_residue), (lpwsinc_transform), (lpwsinc_start), (lpwsinc_query), (lpwsinc_query_type), (lpwsinc_event), (lpwsinc_set_property): * gst/filter/gstlpwsinc.h: Implement latency query and only forward those samples downstream that actually contain the data we want, i.e. drop kernel_length/2 in the beginning and append kernel_length/2 (created by convolving the filter kernel with zeroes) to the end. * tests/check/elements/lpwsinc.c: (GST_START_TEST): Adjust the unit test for this slightly changed behaviour.
* Add docs for lpwsinc and bpwsinc and integrate them into the build system. ↵Sebastian Dröge2007-08-134-3/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While doing that also update all other doc... Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.signals: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-cdxaparse.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-filter.xml: * docs/plugins/inspect/plugin-freeze.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstrtpmanager.xml: * docs/plugins/inspect/plugin-h264parse.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-musepack.xml: * docs/plugins/inspect/plugin-musicbrainz.xml: * docs/plugins/inspect/plugin-nsfdec.xml: * docs/plugins/inspect/plugin-replaygain.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spcdec.xml: * docs/plugins/inspect/plugin-spectrum.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-tta.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-xingheader.xml: * docs/plugins/inspect/plugin-xvid.xml: * gst/filter/gstbpwsinc.c: * gst/filter/gstbpwsinc.h: * gst/filter/gstlpwsinc.c: * gst/filter/gstlpwsinc.h: Add docs for lpwsinc and bpwsinc and integrate them into the build system. While doing that also update all other docs via make update in docs/plugins.
* gst/filter/: Improve debugging a bit.Sebastian Dröge2007-08-122-11/+15
| | | | | | | Original commit message from CVS: * gst/filter/gstbpwsinc.c: (bpwsinc_build_kernel): * gst/filter/gstlpwsinc.c: (lpwsinc_build_kernel): Improve debugging a bit.
* gst/filter/: Reset the residue in BaseTransform::start to get a clean ↵Sebastian Dröge2007-08-122-2/+39
| | | | | | | | | | | | residue on stream changes. Original commit message from CVS: * gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init), (bpwsinc_start): * gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init), (lpwsinc_start): Reset the residue in BaseTransform::start to get a clean residue on stream changes.
* gst/filter/: Fix processing with buffer sizes that are larger than the ↵Sebastian Dröge2007-08-112-8/+48
| | | | | | | | | | filter kernel size. Original commit message from CVS: * gst/filter/gstbpwsinc.c: (process_32), (process_64): * gst/filter/gstlpwsinc.c: (process_32), (process_64): Fix processing with buffer sizes that are larger than the filter kernel size.
* gst/filter/gstbpwsinc.c: Fix a segfault with more than one channel and don't ↵Sebastian Dröge2007-08-101-1/+4
| | | | | | | | | rebuild the kernel & residue with every ... Original commit message from CVS: * gst/filter/gstbpwsinc.c: (bpwsinc_build_kernel): Fix a segfault with more than one channel and don't rebuild the kernel & residue with every buffer.
* gst/filter/gstbpwsinc.*: Add support for a bandreject mode and allow ↵Sebastian Dröge2007-08-103-16/+111
| | | | | | | | | | | | | | | specifying the window function that should be used. Original commit message from CVS: * gst/filter/gstbpwsinc.c: (gst_bpwsinc_mode_get_type), (gst_bpwsinc_window_get_type), (gst_bpwsinc_class_init), (gst_bpwsinc_init), (bpwsinc_build_kernel), (bpwsinc_set_property), (bpwsinc_get_property): * gst/filter/gstbpwsinc.h: Add support for a bandreject mode and allow specifying the window function that should be used. * gst/filter/gstlpwsinc.c: And another small formatting fix.
* gst/filter/gstbpwsinc.*: Apply the same changes to the bandpass filter:Sebastian Dröge2007-08-103-122/+226
| | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init), (gst_bpwsinc_init), (process_32), (process_64), (bpwsinc_build_kernel), (bpwsinc_setup), (bpwsinc_get_unit_size), (bpwsinc_transform), (bpwsinc_set_property), (bpwsinc_get_property): * gst/filter/gstbpwsinc.h: Apply the same changes to the bandpass filter: - Support double input - Fix processing for input with >1 channels - Specify frequency in Hz - Specify actual filter kernel length - Use transform instead of transform_ip as we're working out of place anyway - Factor out filter kernel generation and update the filter kernel when the properties are set Fix bandpass filter kernel generation to actually generate a bandpass filter by creating a highpass instead of a second lowpass. * gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init): Small formatting fix.
* gst/filter/gstlpwsinc.*: Specify the actual filter length instead of a weird ↵Sebastian Dröge2007-08-102-28/+29
| | | | | | | | | | | | | | 2N+1. Setting the property will round to... Original commit message from CVS: * gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init), (gst_lpwsinc_init), (process_32), (process_64), (lpwsinc_build_kernel), (lpwsinc_set_property), (lpwsinc_get_property): * gst/filter/gstlpwsinc.h: Specify the actual filter length instead of a weird 2N+1. Setting the property will round to the next odd number. Also remove now obsolete FIXMEs.
* gst/filter/gstlpwsinc.*: Allow choosing between hamming and blackman window. ↵Sebastian Dröge2007-08-102-3/+51
| | | | | | | | | | | | | | The blackman window provides a better st... Original commit message from CVS: * gst/filter/gstlpwsinc.c: (gst_lpwsinc_window_get_type), (gst_lpwsinc_class_init), (gst_lpwsinc_init), (lpwsinc_build_kernel), (lpwsinc_set_property), (lpwsinc_get_property): * gst/filter/gstlpwsinc.h: Allow choosing between hamming and blackman window. The blackman window provides a better stopband attenuation but a bit slower rolloff.
* gst/filter/gstlpwsinc.*: Add a highpass mode.Sebastian Dröge2007-08-102-10/+58
| | | | | | | | | | Original commit message from CVS: * gst/filter/gstlpwsinc.c: (gst_lpwsinc_mode_get_type), (gst_lpwsinc_class_init), (process_32), (process_64), (lpwsinc_build_kernel), (lpwsinc_set_property), (lpwsinc_get_property): * gst/filter/gstlpwsinc.h: Add a highpass mode.
* gst/filter/gstlpwsinc.c: Fix processing if the input has more than one channel.Sebastian Dröge2007-08-101-18/+36
| | | | | | | Original commit message from CVS: * gst/filter/gstlpwsinc.c: (process_32), (process_64), (lpwsinc_build_kernel): Fix processing if the input has more than one channel.
* gst/filter/gstbpwsinc.c: "this" is a C++ keyword, use "self" instead.Sebastian Dröge2007-08-092-58/+64
| | | | | | | | | | | Original commit message from CVS: * gst/filter/gstbpwsinc.c: (gst_bpwsinc_dispose), (gst_bpwsinc_init), (bpwsinc_setup), (bpwsinc_transform_ip), (bpwsinc_set_property), (bpwsinc_get_property): "this" is a C++ keyword, use "self" instead. Add TODOs and FIXMEs and remove two wrong FIXMEs. * gst/filter/gstlpwsinc.c: Add FIXMEs and a new TODO.
* gst/filter/gstlpwsinc.*: Add double support, replace "this" with "self" as ↵Sebastian Dröge2007-08-092-103/+170
| | | | | | | | | | | | | | | | | | | | | | | the former is a C++ keyword. Original commit message from CVS: * gst/filter/gstlpwsinc.c: (gst_lpwsinc_dispose), (gst_lpwsinc_class_init), (gst_lpwsinc_init), (process_32), (process_64), (lpwsinc_build_kernel), (lpwsinc_setup), (lpwsinc_get_unit_size), (lpwsinc_transform), (lpwsinc_set_property), (lpwsinc_get_property): * gst/filter/gstlpwsinc.h: Add double support, replace "this" with "self" as the former is a C++ keyword. Implement the frequency property in Hz instead of fraction of sampling frequency. Remove some unecessary FIXMEs and add some TODOs, add some required locking and refactor the kernel generation into a separate function that is also called when the properties change now. And use BaseTransform::transform instead of transform_ip as the convolution is done out of place anyway. Should be done in place later.
* gst/filter/: Use GstAudioFilter as base class and don't leak the memory of ↵Sebastian Dröge2007-08-084-76/+86
| | | | | | | | | | | | | | | | | the filter kernel and residue. Original commit message from CVS: * gst/filter/Makefile.am: * gst/filter/gstbpwsinc.c: (gst_bpwsinc_dispose), (gst_bpwsinc_base_init), (gst_bpwsinc_class_init), (gst_bpwsinc_init), (bpwsinc_setup): * gst/filter/gstbpwsinc.h: * gst/filter/gstlpwsinc.c: (gst_lpwsinc_dispose), (gst_lpwsinc_base_init), (gst_lpwsinc_class_init), (gst_lpwsinc_init), (lpwsinc_setup): * gst/filter/gstlpwsinc.h: Use GstAudioFilter as base class and don't leak the memory of the filter kernel and residue.
* gst/audiofx/audioamplify.h: Also remove a now unecessary variable here.Sebastian Dröge2007-07-261-1/+0
| | | | | | Original commit message from CVS: * gst/audiofx/audioamplify.h: Also remove a now unecessary variable here.
* gst/audiofx/: Don't save format information ourselves, this is already saved inSebastian Dröge2007-07-265-18/+8
| | | | | | | | | | | | | | | Original commit message from CVS: * gst/audiofx/audioamplify.c: (gst_audio_amplify_init), (gst_audio_amplify_setup), (gst_audio_amplify_transform_ip): * gst/audiofx/audiodynamic.c: (gst_audio_dynamic_set_process_function), (gst_audio_dynamic_init), (gst_audio_dynamic_setup), (gst_audio_dynamic_transform_ip): * gst/audiofx/audiodynamic.h: * gst/audiofx/audioinvert.c: (gst_audio_invert_init), (gst_audio_invert_setup), (gst_audio_invert_transform_ip): * gst/audiofx/audioinvert.h: Don't save format information ourselves, this is already saved in GstAudioFilter.
* configure.ac: Depend on gstreamer-0.10.12.1. gst/equalizer/gstiirequalizer.c ↵Stefan Kost2007-05-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (ARG_BAND_WIDTH, _do_init, ARG_GAIN, _Gs... Original commit message from CVS: * configure.ac: Depend on gstreamer-0.10.12.1. * gst/equalizer/gstiirequalizer.c (ARG_BAND_WIDTH, _do_init, ARG_GAIN, _GstIirEqualizerBand, object, _GstIirEqualizerBandClass, parent_class, gst_iir_equalizer_band_set_property, gst_iir_equalizer_band_class_init, gst_iir_equalizer_band_get_type, gst_iir_equalizer_child_proxy_get_child_by_index, gst_iir_equalizer_child_proxy_get_children_count, gst_iir_equalizer_child_proxy_interface_init, setup_filter, gst_iir_equalizer_compute_frequencies, gst_iir_equalizer_set_property, gst_iir_equalizer_get_property, plugin_init): * gst/equalizer/gstiirequalizer.h (audiofilter): * gst/equalizer/gstiirequalizernbands.c (ARG_NUM_BANDS, gst_iir_equalizer_nbands_base_init, gst_iir_equalizer_nbands_init, gst_iir_equalizer_nbands_set_property): Use new locking macros. * gst/filter/gstbpwsinc.c (bpwsinc_set_caps): Add fixme. * gst/spectrum/gstspectrum.c (SPECTRUM_WINDOW_BASE, SPECTRUM_WINDOW_LEN, gst_spectrum_init, gst_spectrum_set_property, gst_spectrum_event, gst_spectrum_transform_ip): Use new locking macros. Turn two fixed values into #defines.
* gst/audiofx/: Sync the GObject properties before each processing step to ↵Sebastian Dröge2007-05-063-4/+13
| | | | | | | | | | | properly work with the controller. Original commit message from CVS: * gst/audiofx/audioamplify.c: (gst_audio_amplify_transform_ip): * gst/audiofx/audiodynamic.c: (gst_audio_dynamic_transform_ip): * gst/audiofx/audioinvert.c: (gst_audio_invert_transform_ip): Sync the GObject properties before each processing step to properly work with the controller.
* gst/audiofx/: Add new audiodynamic element which can act as a compressor or ↵Sebastian Dröge2007-03-084-3/+787
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/: Some small cleanups and port both elements to the new ↵Sebastian Dröge2007-02-065-148/+101
| | | | | | | | | | | | | | | | | | GstAudioFilter base class to save a few lines of ... Original commit message from CVS: * gst/audiofx/audioamplify.c: (gst_audio_amplify_base_init), (gst_audio_amplify_class_init), (gst_audio_amplify_init), (gst_audio_amplify_set_process_function), (gst_audio_amplify_setup): * gst/audiofx/audioamplify.h: * gst/audiofx/audioinvert.c: (gst_audio_invert_base_init), (gst_audio_invert_class_init), (gst_audio_invert_setup): * gst/audiofx/audioinvert.h: Some small cleanups and port both elements to the new GstAudioFilter base class to save a few lines of common code. * gst/audiofx/Makefile.am: Link against libgstaudio for the above changes
* gst/audiofx/: Add new element "audioamplify". This allows scaling of raw ↵Sebastian Dröge2007-01-244-3/+520
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-234-4/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/audiofx/audiopanorama.c: Fix doc section name (Fixes #397946)Stefan Kost2007-01-181-1/+1
| | | | | | Original commit message from CVS: * gst/audiofx/audiopanorama.c: Fix doc section name (Fixes #397946)
* gst/audiofx/audiopanorama.c: Use a function array for process methods, add ↵Sebastian Dröge2007-01-161-50/+40
| | | | | | | | | | | more docs and define the startindex of enums. Original commit message from CVS: Patch by: Sebastian Dröge <slomo circular-chaos org> * gst/audiofx/audiopanorama.c: (gst_audio_panorama_class_init), (gst_audio_panorama_set_process_function): Use a function array for process methods, add more docs and define the startindex of enums.
* gst/audiofx/audiopanorama.*: Add 'method' property and provide a simple ↵Sebastian Dröge2007-01-132-31/+229
| | | | | | | | | | | | | | | | | | | | | | | (non-psychoacustic) processing method (#394859). Original commit message from CVS: Patch by: Sebastian Dröge <slomo circular-chaos org> * gst/audiofx/audiopanorama.c: (gst_audio_panorama_method_get_type), (gst_audio_panorama_class_init), (gst_audio_panorama_init), (gst_audio_panorama_set_process_function), (gst_audio_panorama_set_property), (gst_audio_panorama_get_property), (gst_audio_panorama_set_caps), (gst_audio_panorama_transform_m2s_int_simple), (gst_audio_panorama_transform_s2s_int_simple), (gst_audio_panorama_transform_m2s_float_simple), (gst_audio_panorama_transform_s2s_float_simple): * gst/audiofx/audiopanorama.h: Add 'method' property and provide a simple (non-psychoacustic) processing method (#394859). * tests/check/elements/audiopanorama.c: (GST_START_TEST), (panorama_suite): Tests for new method.
* Some small docs fixes (#394851).Sebastian Dröge2007-01-101-4/+4
| | | | | | | | Original commit message from CVS: Patch by: Sebastian Dröge <slomo ubuntu com> * docs/plugins/Makefile.am: * gst/audiofx/audiopanorama.c: Some small docs fixes (#394851).
* Fix build with gcc-2.x (declare variables at the beginning of a block etc.). ↵Jens Granseuer2007-01-032-14/+14
| | | | | | | | | | | | | | | | | | Fixes #391971. Original commit message from CVS: Patch by: Jens Granseuer <jensgr at gmx net> * ext/xvid/gstxvidenc.c: (gst_xvidenc_encode), (gst_xvidenc_get_property): * gst/filter/gstbpwsinc.c: (bpwsinc_transform_ip): * gst/filter/gstfilter.c: (plugin_init): * gst/filter/gstiir.c: (iir_transform_ip): * gst/filter/gstlpwsinc.c: (lpwsinc_transform_ip): * gst/modplug/gstmodplug.cc: * gst/nuvdemux/gstnuvdemux.c: (gst_nuv_demux_header_load), (gst_nuv_demux_stream_extend_header): Fix build with gcc-2.x (declare variables at the beginning of a block etc.). Fixes #391971.
* gst/audiofx/audiopanorama.*: Fix audiopanorame with float samples. Fixes ↵Sebastian Dröge2006-12-082-2/+13
| | | | | | | | | | | #383726. Original commit message from CVS: Patch by: Sebastian Dröge <mail at slomosnail de > * gst/audiofx/audiopanorama.c: (gst_audio_panorama_init), (gst_audio_panorama_set_caps), (gst_audio_panorama_transform): * gst/audiofx/audiopanorama.h: Fix audiopanorame with float samples. Fixes #383726.
* Rename again (audiofxgood -> audiofx).Stefan Kost2006-08-272-6/+6
| | | | | | | | | | | | | | | | 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).
* Make also the pan-property float (saves scaling and yields better resolution)Stefan Kost2006-08-242-20/+18
| | | | | | | | | | | | | | | Original commit message from CVS: * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_class_init), (gst_audio_panorama_set_property), (gst_audio_panorama_get_property), (gst_audio_panorama_transform_m2s_int), (gst_audio_panorama_transform_s2s_int), (gst_audio_panorama_transform_m2s_float), (gst_audio_panorama_transform_s2s_float): * gst/audiofxgood/audiopanorama.h: * tests/check/elements/audiopanorama.c: (GST_START_TEST): Make also the pan-property float (saves scaling and yields better resolution)
* gst/audiofxgood/audiopanorama.c: ChangeLog surgery to add cymax's real nameStefan Kost2006-08-241-2/+0
| | | | | | | | Original commit message from CVS: * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_set_caps), (gst_audio_panorama_transform_m2s_float), (gst_audio_panorama_transform_s2s_float): ChangeLog surgery to add cymax's real name
* gst/audiofxgood/audiopanorama.*: Added float support (thanks cymax)Stefan Kost2006-08-242-13/+103
| | | | | | | | | | | | Original commit message from CVS: * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_set_caps), (gst_audio_panorama_transform_m2s_int), (gst_audio_panorama_transform_s2s_int), (gst_audio_panorama_transform_m2s_float), (gst_audio_panorama_transform_s2s_float), (gst_audio_panorama_transform): * gst/audiofxgood/audiopanorama.h: Added float support (thanks cymax)
* gst/audiofxgood/audiopanorama.c: Fix docs & debug category. Add Fixme for ↵Stefan Kost2006-08-241-4/+4
| | | | | | | | | volume pan levels. Original commit message from CVS: * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_transform_m2s): Fix docs & debug category. Add Fixme for volume pan levels.
* gst/audiofxgood/: resubmit with the desired name *again*Stefan Kost2006-08-215-0/+495
| | | | | | | | | | | | | | | | | 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*
* gst/filter/: Don't forget new files.Wim Taymans2006-07-102-0/+161
| | | | | | | | Original commit message from CVS: * gst/filter/gstbpwsinc.h: * gst/filter/gstiir.h: * gst/filter/gstlpwsinc.h: Don't forget new files.
* Ported the gstfilter plugin to GStreamer 0.10.Mathis Hofer2006-07-102-420/+357
| | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Patch by: Mathis Hofer <mathis dot hofer at dreamlab dot net> * configure.ac: * gst/filter/Makefile.am: * gst/filter/gstbpwsinc.c: (gst_bpwsinc_dispose), (gst_bpwsinc_base_init), (gst_bpwsinc_class_init), (gst_bpwsinc_init), (bpwsinc_set_caps), (bpwsinc_transform_ip), (bpwsinc_set_property), (bpwsinc_get_property): * gst/filter/gstfilter.c: (plugin_init): * gst/filter/gstfilter.h: * gst/filter/gstiir.c: (gst_iir_dispose), (gst_iir_base_init), (gst_iir_class_init), (gst_iir_init), (iir_set_caps), (iir_transform_ip), (iir_set_property), (iir_get_property): * gst/filter/gstlpwsinc.c: (gst_lpwsinc_dispose), (gst_lpwsinc_base_init), (gst_lpwsinc_class_init), (gst_lpwsinc_init), (lpwsinc_set_caps), (lpwsinc_transform_ip), (lpwsinc_set_property), (lpwsinc_get_property): Ported the gstfilter plugin to GStreamer 0.10.
* Define GstElementDetails as const and also static (when defined as global)Stefan Kost2006-04-252-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/amrwb/gstamrwbdec.c: * ext/amrwb/gstamrwbenc.c: * ext/amrwb/gstamrwbparse.c: * ext/arts/gst_arts.c: * ext/artsd/gstartsdsink.c: * ext/audiofile/gstafparse.c: * ext/audiofile/gstafsink.c: * ext/audiofile/gstafsrc.c: * ext/audioresample/gstaudioresample.c: * ext/bz2/gstbz2dec.c: * ext/bz2/gstbz2enc.c: * ext/cdaudio/gstcdaudio.c: * ext/directfb/dfbvideosink.c: * ext/divx/gstdivxdec.c: * ext/divx/gstdivxenc.c: * ext/dts/gstdtsdec.c: (gst_dtsdec_base_init): * ext/faac/gstfaac.c: (gst_faac_base_init): * ext/faad/gstfaad.c: * ext/gsm/gstgsmdec.c: * ext/gsm/gstgsmenc.c: * ext/hermes/gsthermescolorspace.c: * ext/ivorbis/vorbisfile.c: * ext/lcs/gstcolorspace.c: * ext/libfame/gstlibfame.c: * ext/libmms/gstmms.c: (gst_mms_base_init): * ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init): * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init): * ext/nas/nassink.c: (gst_nassink_base_init): * ext/neon/gstneonhttpsrc.c: * ext/sdl/sdlaudiosink.c: * ext/sdl/sdlvideosink.c: * ext/shout/gstshout.c: * ext/snapshot/gstsnapshot.c: * ext/sndfile/gstsf.c: * ext/swfdec/gstswfdec.c: * ext/tarkin/gsttarkindec.c: * ext/tarkin/gsttarkinenc.c: * ext/theora/theoradec.c: * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init): * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init): * ext/xvid/gstxviddec.c: * ext/xvid/gstxvidenc.c: * gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init): * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init): * gst/chart/gstchart.c: * gst/colorspace/gstcolorspace.c: * gst/deinterlace/gstdeinterlace.c: * gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init): * gst/festival/gstfestival.c: * gst/filter/gstbpwsinc.c: * gst/filter/gstiir.c: * gst/filter/gstlpwsinc.c: * gst/freeze/gstfreeze.c: * gst/games/gstpuzzle.c: (gst_puzzle_base_init): * gst/librfb/gstrfbsrc.c: * gst/mixmatrix/mixmatrix.c: * gst/mpeg1sys/gstmpeg1systemencode.c: * gst/mpeg1videoparse/gstmp1videoparse.c: * gst/mpeg2sub/gstmpeg2subt.c: * gst/mpegaudioparse/gstmpegaudioparse.c: * gst/multifilesink/gstmultifilesink.c: * gst/overlay/gstoverlay.c: * gst/passthrough/gstpassthrough.c: * gst/playondemand/gstplayondemand.c: * gst/qtdemux/qtdemux.c: * gst/rtjpeg/gstrtjpegdec.c: * gst/rtjpeg/gstrtjpegenc.c: * gst/smooth/gstsmooth.c: * gst/smoothwave/gstsmoothwave.c: * gst/spectrum/gstspectrum.c: * gst/speed/gstspeed.c: * gst/stereo/gststereo.c: * gst/switch/gstswitch.c: * gst/tta/gstttadec.c: (gst_tta_dec_base_init): * gst/tta/gstttaparse.c: (gst_tta_parse_base_init): * gst/vbidec/gstvbidec.c: * gst/videocrop/gstvideocrop.c: * gst/videodrop/gstvideodrop.c: * gst/virtualdub/gstxsharpen.c: * gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init): * gst/y4m/gsty4mencode.c: * sys/cdrom/gstcdplayer.c: * sys/directdraw/gstdirectdrawsink.c: * sys/directsound/gstdirectsoundsink.c: * sys/glsink/glimagesink.c: * sys/qcam/gstqcamsrc.c: * sys/v4l2/gstv4l2src.c: * sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init): * sys/ximagesrc/ximagesrc.c: Define GstElementDetails as const and also static (when defined as global)