Commit graph

11 commits

Author SHA1 Message Date
Sebastian Dröge
4b227159cb gst/audiofx/: Use a custom mutex for protecting the instance fields instead of the GstObject lock. Using the latter c...
Original commit message from CVS:
* gst/audiofx/audiochebband.c: (gst_audio_cheb_band_class_init),
(gst_audio_cheb_band_init), (gst_audio_cheb_band_finalize),
(gst_audio_cheb_band_set_property):
* gst/audiofx/audiochebband.h:
* gst/audiofx/audiocheblimit.c: (gst_audio_cheb_limit_class_init),
(gst_audio_cheb_limit_init), (gst_audio_cheb_limit_finalize),
(gst_audio_cheb_limit_set_property):
* gst/audiofx/audiocheblimit.h:
* gst/audiofx/audiowsincband.c: (gst_audio_wsincband_class_init),
(gst_audio_wsincband_init), (gst_audio_wsincband_finalize),
(gst_audio_wsincband_set_property):
* gst/audiofx/audiowsincband.h:
* gst/audiofx/audiowsinclimit.c: (gst_audio_wsinclimit_class_init),
(gst_audio_wsinclimit_init), (gst_audio_wsinclimit_finalize),
(gst_audio_wsinclimit_set_property):
* gst/audiofx/audiowsinclimit.h:
Use a custom mutex for protecting the instance fields instead of
the GstObject lock. Using the latter can lead to deadlocks, especially
with the FIR filters when updating the latency.
2009-01-13 08:24:25 +00:00
Sebastian Dröge
4c7c4c00da gst/audiofx/: Implement a base class for IIR filters.
Original commit message from CVS:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiofxbaseiirfilter.c:
(gst_audio_fx_base_iir_filter_base_init),
(gst_audio_fx_base_iir_filter_dispose),
(gst_audio_fx_base_iir_filter_class_init),
(gst_audio_fx_base_iir_filter_init),
(gst_audio_fx_base_iir_filter_calculate_gain),
(gst_audio_fx_base_iir_filter_set_coefficients),
(gst_audio_fx_base_iir_filter_setup), (process),
(gst_audio_fx_base_iir_filter_transform_ip),
(gst_audio_fx_base_iir_filter_stop):
* gst/audiofx/audiofxbaseiirfilter.h:
Implement a base class for IIR filters.
* gst/audiofx/audiochebband.c: (gst_audio_cheb_band_base_init),
(gst_audio_cheb_band_class_init), (gst_audio_cheb_band_init),
(generate_coefficients), (gst_audio_cheb_band_set_property),
(gst_audio_cheb_band_setup):
* gst/audiofx/audiochebband.h:
* gst/audiofx/audiocheblimit.c: (gst_audio_cheb_limit_base_init),
(gst_audio_cheb_limit_class_init), (gst_audio_cheb_limit_init),
(generate_coefficients), (gst_audio_cheb_limit_set_property),
(gst_audio_cheb_limit_setup):
* gst/audiofx/audiocheblimit.h:
Use the IIR filter base class for the chebyshev filters.
2009-01-05 10:13:29 +00:00
Tim-Philipp Müller
5c4b6ce079 Make stuff compile with GST_DISABLE_GST_DEBUG.
Original commit message from CVS:
* ext/raw1394/gsthdv1394src.c: (gst_hdv1394src_create):
* gst/alpha/gstalpha.c: (gst_alpha_get_unit_size):
* gst/audiofx/audiocheblimit.c: (generate_coefficients):
* gst/avi/gstavidemux.c: (gst_avi_demux_src_convert):
* gst/matroska/ebml-read.c: (gst_ebml_read_element_id),
(gst_ebml_read_element_length):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_check_subtitle_buffer):
Make stuff compile with GST_DISABLE_GST_DEBUG.
2008-08-30 14:15:03 +00:00
Sebastian Dröge
c299138aaf Check for sinh(), cosh() and asinh() and define our own implementations if they're not available. Fixes bug #520880.
Original commit message from CVS:
* configure.ac:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiochebband.c:
* gst/audiofx/audiocheblimit.c:
* gst/audiofx/math_compat.h:
Check for sinh(), cosh() and asinh() and define our own
implementations if they're not available. Fixes bug #520880.
2008-03-07 13:08:42 +00:00
Sebastian Dröge
f13c8b6576 gst/audiofx/: Fix long description of audiofx elements. Fixes bug #515457.
Original commit message from CVS:
* gst/audiofx/audioamplify.c:
* gst/audiofx/audiochebband.c:
* gst/audiofx/audiocheblimit.c:
* gst/audiofx/audiodynamic.c:
* gst/audiofx/audioinvert.c:
* gst/audiofx/audiopanorama.c:
* gst/audiofx/audiowsincband.c:
* gst/audiofx/audiowsinclimit.c:
Fix long description of audiofx elements. Fixes bug #515457.
2008-02-10 10:46:13 +00:00
Jan Schmidt
22bea9fec3 Rename audiochebyshevfreqband -> audiochebband and audiochebyshevfreqlimit -> 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
2008-02-06 23:44:43 +00:00
Sebastian Dröge
b76819bbd2 Make elements GST_BUFFER_FLAG_GAP aware and call gst_base_transform_set_gap_aware for this.
Original commit message from CVS:
* configure.ac:
* gst/audiofx/audioamplify.c:
(gst_audio_amplify_clipping_method_get_type),
(gst_audio_amplify_init), (gst_audio_amplify_transform_ip):
* gst/audiofx/audiodynamic.c: (gst_audio_dynamic_init),
(gst_audio_dynamic_transform_ip):
* gst/audiofx/audioinvert.c: (gst_audio_invert_init),
(gst_audio_invert_transform_ip):
* gst/audiofx/audiopanorama.c: (gst_audio_panorama_init),
(gst_audio_panorama_transform):
* gst/level/gstlevel.c: (gst_level_init):
Make elements GST_BUFFER_FLAG_GAP aware and call
gst_base_transform_set_gap_aware for this.
Bump core requirement to CVS.
* gst/audiofx/audiochebyshevfreqband.c:
(gst_audio_chebyshev_freq_band_transform_ip):
* gst/audiofx/audiochebyshevfreqlimit.c:
(gst_audio_chebyshev_freq_limit_transform_ip):
Also sync GObject properties to the controller if operating
in passthrough mode.
2008-01-08 14:58:18 +00:00
Sebastian Dröge
ba36c8183b gst/audiofx/: The transform_ip() methods should do nothing if in passthrough 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.
2007-12-06 12:11:29 +00:00
Sebastian Dröge
5f32a4bac6 gst/audiofx/: Add small comparision with the windowed sinc filters in the docs.
Original commit message from CVS:
* gst/audiofx/audiochebyshevfreqband.c:
* gst/audiofx/audiochebyshevfreqlimit.c:
Add small comparision with the windowed sinc filters in the docs.
2007-08-19 19:11:04 +00:00
Sebastian Dröge
f86bfaf5f9 gst/audiofx/: Use generator macros for the process functions for the 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.
2007-08-17 14:43:33 +00:00
Sebastian Dröge
842451a720 gst/audiofx/: Add Chebyshev lowpass/highpass and bandpass/bandreject elements.
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.
2007-08-16 17:02:07 +00:00