Commit graph

231 commits

Author SHA1 Message Date
Rov Juvano 43e79f7769 Add scaletempo plugin, which allows to scale the speed of audio without changing the pitch by handling seeks with a r...
Original commit message from CVS:
Patch by: Rov Juvano <rovjuvano at users dot sourceforge dot net>
* configure.ac:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/inspect/plugin-scaletempo.xml:
* examples/scaletempo/Makefile.am:
* examples/scaletempo/demo-gui.c: (pop_status_bar),
(status_bar_printf), (demo_gui_seek_bar_format), (update_position),
(demo_gui_seek_bar_change), (demo_gui_do_change_rate),
(demo_gui_do_set_rate), (demo_gui_do_rate_entered),
(demo_gui_do_toggle_advanced), (demo_gui_do_toggle_disabled),
(demo_gui_do_seek), (demo_gui_do_play), (demo_gui_do_pause),
(demo_gui_do_play_pause), (demo_gui_do_open_file),
(demo_gui_do_playlist_prev), (demo_gui_do_playlist_next),
(demo_gui_do_about_dialog), (demo_gui_do_quit),
(demo_gui_request_set_stride), (demo_gui_request_set_overlap),
(demo_gui_request_set_search), (demo_gui_rate_changed),
(demo_gui_playing_started), (demo_gui_playing_paused),
(demo_gui_playing_ended), (demo_gui_player_errored),
(demo_gui_stride_changed), (demo_gui_overlap_changed),
(demo_gui_search_changed), (demo_gui_set_player_func),
(demo_gui_set_playlist_func), (build_gvalue_array),
(create_action), (demo_gui_show_func), (demo_gui_set_player),
(demo_gui_set_playlist), (demo_gui_show), (demo_gui_get_property),
(demo_gui_set_property), (demo_gui_init), (demo_gui_class_init),
(demo_gui_get_type):
* examples/scaletempo/demo-gui.h:
* examples/scaletempo/demo-main.c: (handle_error_message),
(handle_quit), (main):
* examples/scaletempo/demo-player.c: (no_pipeline),
(demo_player_event_listener), (demo_player_state_changed_cb),
(demo_player_eos_cb), (demo_player_build_pipeline), (_set_rate),
(demo_player_scale_rate_func), (demo_player_set_rate_func),
(_set_state_and_wait), (demo_player_load_uri_func),
(demo_player_play_func), (demo_player_pause_func), (_seek_to),
(demo_player_seek_by_func), (demo_player_seek_to_func),
(demo_player_get_position_func), (demo_player_get_duration_func),
(demo_player_scale_rate), (demo_player_set_rate),
(demo_player_load_uri), (demo_player_play), (demo_player_pause),
(demo_player_seek_by), (demo_player_seek_to),
(demo_player_get_position), (demo_player_get_duration),
(demo_player_get_property), (demo_player_set_property),
(demo_player_init), (demo_player_class_init),
(demo_player_get_type):
* examples/scaletempo/demo-player.h:
* gst/audiofx/Makefile.am:
* gst/audiofx/gstscaletempo.c: (best_overlap_offset_float),
(best_overlap_offset_s16), (output_overlap_float),
(output_overlap_s16), (fill_queue), (reinit_buffers),
(gst_scaletempo_transform), (gst_scaletempo_transform_size),
(gst_scaletempo_sink_event), (gst_scaletempo_set_caps),
(gst_scaletempo_get_property), (gst_scaletempo_set_property),
(gst_scaletempo_base_init), (gst_scaletempo_class_init),
(gst_scaletempo_init):
* gst/audiofx/gstscaletempo.h:
* gst/audiofx/gstscaletempoplugin.c: (plugin_init):
Add scaletempo plugin, which allows to scale the speed of audio without
changing the pitch by handling seeks with a rate!=1.0.
Integrate it into the docs and add the example application for it.
Fixes bug #537700.
2012-12-14 13:16:15 +00:00
Tim-Philipp Müller 230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Tim-Philipp Müller 4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Tim-Philipp Müller 0fa3992e37 audiopanorama: fix negotiation and unit test
Must remove a possibly-fixed channel-mask field if
we're going to set unfixed channels on the structure,
or a different channel count.
2012-07-03 17:54:22 +01:00
Chris Pankow 6042bb1e6b audiofxbasefirfilter: Fix time-domain convolution for multichannel input
Fixes bug #674025.
2012-04-23 10:08:59 +02:00
Tim-Philipp Müller e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Sebastian Dröge aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Sebastian Dröge 5cdd49bf25 gst: Update versioning 2012-04-04 14:37:47 +02:00
Wim Taymans ff58bf3db9 use transform_ip_on_passthrough 2012-04-02 11:13:09 +02:00
Mark Nauwelaerts 62d6c00ac9 audiopanorama: fix supported template caps and sample processing 2012-03-29 17:21:50 +02:00
Mark Nauwelaerts 8742a0a89b audiofx: more adjustment to changed semantics of audiofilter _setup method 2012-03-28 12:23:56 +02:00
Mark Nauwelaerts 9041a588f9 audiofx: adjust to changed semantics of audiofilter _setup method
... in that it will now call subclass with info on proposed audio format
without having set that info already in base class.  As such,
subclass can not rely on audio format info being available there.
2012-03-23 18:48:53 +01:00
Sebastian Dröge 78bb66902b gst: Update for the gstmarshal.[ch] removal 2012-03-02 11:17:33 +01:00
Mark Nauwelaerts f189f62b13 Merge branch 'master' into 0.11
Conflicts:
	ext/wavpack/gstwavpackenc.c
	tests/check/elements/audioiirfilter.c
	tests/examples/v4l2/probe.c
2012-03-01 11:29:50 +01:00
Edward Hervey 9beda57c3a Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:47:25 +01:00
Wim Taymans 3c292543bc audiofx: remove transform lock usage 2012-02-23 12:03:24 +01:00
Wim Taymans 44d369211c audiodynamic: fix negotiation 2012-02-06 13:28:55 +01:00
Tim-Philipp Müller 0f3b7b010e build: ignore GValueArray deprecation warnings for the time being
until this gets sorted out with the GLib folks and we have a
viable alternative.

https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-02-01 16:40:51 +00:00
Wim Taymans 583d39dd8d update for new memory API 2012-01-25 12:30:28 +01:00
Tim-Philipp Müller 37409d4d65 Don't use deprecated GLib API 2012-01-22 23:32:51 +00:00
Leo Singer 56353e24d2 audiofx: Use most common convention for definitions of IIR filter coefficients.
Most signal processing texts, including MATLAB, use the following convention for IIR filter coefficients:

a_0 y[n] + a_1 y[n-1] + ... + a_M y[n-M] = b_0 x[n] + b_1 x[n-1] + ... + b[N] x[n-N]

Usually, a_0 is set to 1 because the coefficients can always be rescaled, giving

y[n] = b_0 x[n] + b_1 x[n-1] + ... + b[N] x[n-N] - a_1 y[n-1] - ... - a_M y[n-M]

The convention that was previously used by audiofxbaseiirfilter and derived class had the a and b coefficients swapped, and did not have the minus signs.

This change makes the audiofx plugin use the more common convention described above.
2012-01-11 15:24:00 +01:00
Sebastian Dröge 93e3ed5a86 Merge branch 'master' into 0.11
Conflicts:
	ext/cairo/gsttextoverlay.c
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstaacparse.c
	gst/avi/gstavimux.c
	gst/flv/gstflvmux.c
	gst/interleave/interleave.c
	gst/isomp4/gstqtmux.c
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-mux.h
	gst/matroska/matroska-read-common.c
	gst/multifile/gstmultifilesink.c
	gst/multipart/multipartmux.c
	gst/shapewipe/gstshapewipe.c
	gst/smpte/gstsmpte.c
	gst/udp/gstmultiudpsink.c
	gst/videobox/gstvideobox.c
	gst/videocrop/gstaspectratiocrop.c
	gst/videomixer/videomixer.c
	gst/videomixer/videomixer2.c
	gst/wavparse/gstwavparse.c
	po/ja.po
	po/lv.po
	po/sr.po
	tests/check/Makefile.am
	tests/check/elements/qtmux.c
	tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Sebastian Dröge 686698bf72 audiofx: Port to the new multichannel caps and the new raw audio layout field 2012-01-05 10:30:31 +01:00
Tim-Philipp Müller 66f6e12888 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
2011-12-12 09:46:27 +00:00
Vincent Penquerc'h c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Matej Knopp 1e5dd9e315 Fix printf format compiler warnings on OS X / 64bit
https://bugzilla.gnome.org/show_bug.cgi?id=662615
2011-11-22 01:28:22 +00:00
Wim Taymans 6190312214 add parent to query function 2011-11-16 17:27:13 +01:00
Stefan Sauer 9ce6c731c3 various: add missing includes 2011-11-10 23:09:23 +02:00
Wim Taymans 49658dd5b5 remove query types 2011-11-09 11:53:01 +01:00
Stefan Sauer fb162c8eb4 controller: port to new controller location and api 2011-11-04 20:15:48 +01:00
René Stadler 3b6de2bacd audiopanorama: simplify get_unit_size 2011-10-28 21:26:33 +02:00
René Stadler 8809965204 audioecho: fix internal buffer size calculation 2011-10-28 21:22:38 +02:00
René Stadler 42f401a7eb audiofx: fix crash in process() 2011-10-28 13:08:48 +02:00
René Stadler 9b94fc3102 audiodynamic: don't set process function too early
GstAudioInfo and GstAudioFilter have been changed so that this code doesn't
crash anymore when a property is set in NULL state.
2011-10-28 11:25:37 +02:00
René Stadler 7dba29cbd3 audiopanorama: fix get_unit_size 2011-10-28 11:25:37 +02:00
Wim Taymans e204c5934c -good: port to new audio caps 2011-09-06 13:16:27 +02:00
Wim Taymans 445bf71bd1 port to more audio api changes 2011-08-19 16:09:48 +02:00
Wim Taymans 90f5b31b4b port to new audio API and caps 2011-08-19 11:49:44 +02:00
Wim Taymans 984a0b54eb fixes for event handler changes 2011-07-22 21:19:45 +02:00
Wim Taymans 7ef7157986 Merge branch 'master' into 0.11 2011-06-17 18:12:50 +02:00
Stefan Kost 6c3e77964a audioecho: fix param flags
If the parameter cannot be changed in paused&playing, it is not controlable. Set
the appropriate mutability flag instead.
2011-06-17 03:07:09 +03:00
Wim Taymans 409f29700d -good: port some more plugins 2011-06-13 17:51:40 +02:00
Edward Hervey 8c83978d56 audiofxbasefirfilter: Buffers no longer have caps 2011-06-07 11:22:35 +02:00
Wim Taymans b121bb0ae9 audiofx: fix pad_alloc 2011-04-29 15:46:21 +02:00
Wim Taymans 237ca1631f port some more elements to 0.11 2011-04-25 12:49:36 +02:00
Wim Taymans 4aa6ca5578 port more plugins to 0.11 2011-04-18 10:54:43 +02:00
Sebastian Dröge 6f480ad0ed audiowsinc{band,limit}: Fix check for divison by zero 2011-04-13 18:11:34 +02:00
Sebastian Dröge de7a976531 audiowsincband: Fix range of kernel elements (lim -> lim-1) 2011-04-13 18:01:01 +02:00
Sebastian Dröge 4fd5fea2b2 audiowsinclimit: Add some more braces to make the code more readable 2011-04-13 18:00:44 +02:00
Jordi Burguet-Castell 766e437af1 audiowsinclimit: Fix range of kernel elements (lim -> lim-1) in high/low-pass filters 2011-04-13 17:57:06 +02:00
Sebastian Dröge 2575cfc4a6 audiowsincband: Add new windowing functions: gaussian, cos and hann 2011-04-13 17:52:30 +02:00
Jordi Burguet-Castell 782d6af83d audiowsinclimimt: Add new windows to high/low-pass filters: gaussian, cosine, hann 2011-04-13 17:52:30 +02:00
Thibault Saunier b541208b77 android: Make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
David Schleef 7b8981766b Change M_PI to G_PI 2010-12-30 14:20:52 -08:00
Stefan Kost d8167e3071 various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
Sebastian Dröge 711e0cc90b audioiirfilter: Fix possible NULL pointer dereference 2010-06-16 19:24:54 +02:00
Stefan Kost 43ebe8235f docs: fix xml
The title tag belongs into the refsect2.
2010-04-08 10:30:06 +03:00
Benjamin Otte cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Stefan Kost f405f9c775 audiopanorama: move invariant check out of the inner loop
Improves performance for simple method.
2010-03-11 10:35:05 +02:00
Sebastian Dröge 79e720052a audiofx: Sync properties to the stream time 2010-03-09 21:03:18 +00:00
Kipp Cannon d009678bc5 audioamplify: Allow negative amplifications
Fixes bug #606807.
2010-01-13 09:22:20 +01:00
Sebastian Dröge a9a5e0c7e1 audiofxbasefirfilter: Add property for not draining the history on kernel changes
Currently this only works if the kernel size doesn't change, in the future
it will be possible to change the kernel size too without draining
the complete history and without loosing anything.

Partially based on a patch by
Thiago Santos <thiago.sousa.santos@collabora.co.uk>
2010-01-07 17:28:43 +01:00
Thiago Santos 173be1422c audiofxbasefirfilter: do not try to alloc really large buffers
When nsamples_out is larger than nsamples_in, using unsigned
ints lead to a overflow and the resulting value is wrong and
way too large for allocating a buffer. Use signed integers
and returning immediatelly when that happens.
2009-12-26 16:59:14 -03:00
Sebastian Dröge c26ccb9722 audiowsincband: Use the same upper length limit as audiowsinclimit 2009-12-15 18:18:54 +01:00
Sebastian Dröge 7fec6843c0 audiowsinc{limit,band}: Allow much larger filter lengths now 2009-12-15 18:12:47 +01:00
Sebastian Dröge 119a6ce637 audiofxbasefirfilter: Fix frequency response calculation 2009-12-15 18:12:47 +01:00
Sebastian Dröge 8695581751 audiofxbasefirfilter: Remove dead assignments 2009-12-15 18:12:46 +01:00
Sebastian Dröge cd2b1c1b58 audiofxbasefirfilter: Add special processing functions for Mono/Stereo
This provides another 7% speedup for the time domain convolution and 1.5%
speedup for the FFT convolution on Mono input.

This optimization assumes that the compiler simplifies calculations
and conditions on constant numbers and unrolls loops with a constant
number of repeats.
2009-12-15 18:12:46 +01:00
Sebastian Dröge a3d7321c50 audiofxbasefirfilter: Add a "low-latency" mode
This will always use time-domain convolution, which lowers the latency.
With FFT convolution it's always a multiple of the kernel length,
with time domain convolution it's only the pre-latency of the filter kernel.
2009-12-15 18:12:46 +01:00
Sebastian Dröge ca568ff079 audiofxbasefirfilter: Remove obsolete TODO comments 2009-12-15 18:12:46 +01:00
Sebastian Dröge 45edc1bbd8 audiofxbasefirfilter: Use samples everywhere instead of samples*channels sometimes 2009-12-15 18:12:46 +01:00
Sebastian Dröge 02960383c1 audiofxbasefirfilter: FFT convolution implementation
This provides a great speedup, especially the relationship between kernel
length and processing size is now logarithmic instead of linear. Below a
kernel size of 32 it's a bit slower, afterwards it's much faster:

17     0.788000 -> 0.950000
33     1.208000 -> 1.146000
65     2.166000 -> 1.146000
...
4097 107.444000 -> 1.508000

For sizes smaller 32 the normal time-domain convolution is chosen,
for larger sizes the FFT convolution is automatically used.

Fixes bug #594381.
2009-12-15 18:12:46 +01:00
Sebastian Dröge ddafc20b28 audiofxbasefirfilter: Make most code parts independent of the processing functions and used convolution algorithm
Only remaining part is the residue pushing, which will be fixed later.
2009-12-15 18:12:46 +01:00
Sebastian Dröge 43576fb0cf audiofxbasefirfilter: Optimize time-domain convolution
Remove some redundant calculations, move comparisions out of
inner loops, etc.

This makes the convolution about 3 (!) times faster but
processing time is of course still proportional to the
filter size.
2009-12-15 18:12:46 +01:00
Sebastian Dröge c5f955a3b6 audiofxbasefirfilter: Use _CAST macros in some places and do some calculations only once 2009-12-15 18:12:46 +01:00
Sebastian Dröge abb437454e audiofxbasefirfilter: Rewrite timestamp tracking
It's much simpler now and doesn't introduce accumulating rounding
errors.
2009-12-15 18:12:46 +01:00
Sebastian Dröge c57be62881 audiofxbasefirfilter: Rename some variables and change comments 2009-12-15 18:12:45 +01:00
Sebastian Dröge 742a7c7f50 audiofxbasefirfilter: Add const qualifier to the source data array 2009-12-15 18:12:45 +01:00
Josep Torra 00aa3421e0 audiofx: use G_GUINT64_FORMAT to fix warnings on OSX 2009-10-09 11:43:44 +02:00
Sebastian Dröge a3cb8f005b audioamplify: Fix integer overflows on 32 bit architectures 2009-06-21 17:13:43 +02:00
Kipp Cannon f80b62c3db audioamplify: Don't declare a loop index static
The previous patch to add support for additional sample formats possibly
introduced a reentrancy bug:  a variable used for a loop index was declared
static.  This patch fixes that, and also adds a "/* *INDENT-ON* */" annotation
following the macro block.  (I don't know what the annotation is for, but the
adder, where I copied this from, has it).
2009-06-21 09:50:54 +02:00
Sebastian Dröge ffe64fb934 audioamplify: Fix off-by-one in wrap-positive mode 2009-06-19 22:37:27 +02:00
Kipp Cannon afccf53ace audioamplify: Add noclip method and support for more formats
Fixes bug #585828 and #585831.
2009-06-19 22:20:45 +02:00
Edward Hervey a299e86cfc audiofx: Remove unused variable.
rz is never used in these methods.
2009-04-18 18:51:28 +02:00
Jan Schmidt 591416e0ce Update Since: tags in autodetect srcs and audioecho 2009-02-19 13:16:39 +00:00
Sebastian Dröge be3674c516 Use guint64 instead of guint for storing guint64 2009-02-03 11:52:15 +01:00
Sebastian Dröge 1f32369451 Limit the delay by a new max-delay property
Introduce a new max-delay property that can only
be set before going to PLAYING or PAUSED. This
is used to limit the maximum delay and is set
to the current delay by default.

Using this will make sure that we have enough data
in our internal ringbuffer for the echo. With dynamic
reallocation of the ringbuffer as used before silence
could've been used as the echo directly after setting
a new delay.
2009-01-28 16:01:34 +01:00
Stefan Kost a99d3f8769 Update and add documentation for plugins with no deps (gst).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
Sebastian Dröge fb8a2b359d Save some allocations if the echo delay is increased often
Save some allocations if the echo delay is increased often
during playback by always allocating enough memory to hold
data up to the next complete second, i.e. in the worst case
allocate memory for one additional second.
2009-01-24 18:30:55 +01:00
Sebastian Dröge f2524f71d7 Add note that audioecho's reverb sounds metallic
Add a note to the docs that audioecho's reverb will
sound metallic. This happens because for a real
reverb filter additional filtering is necessary.

Also note which values should be used for the delay
property to get an echo effect.
2009-01-24 11:55:04 +01:00
Sebastian Dröge 99753365c6 Rename audioreverb to audioecho. Fixes bug #568395.
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.
2009-01-22 13:27:56 +01:00
Sebastian Dröge 0701ffa556 gst/audiofx/audioreverb.c: Set the default value in the instance init function.
Original commit message from CVS:
* gst/audiofx/audioreverb.c: (gst_audio_reverb_init):
Set the default value in the instance init function.
2009-01-19 11:22:06 +00:00
Sebastian Dröge 344a9f4229 Add an echo/reverb filter to the audiofx plugin, with configurable echo delay, intensity and feedback. Fixes bug #567...
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
* docs/plugins/inspect/plugin-audiofx.xml:
* docs/plugins/inspect/plugin-spectrum.xml:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiofx.c: (plugin_init):
* gst/audiofx/audioreverb.c: (gst_audio_reverb_base_init),
(gst_audio_reverb_class_init), (gst_audio_reverb_init),
(gst_audio_reverb_finalize), (gst_audio_reverb_set_property),
(gst_audio_reverb_get_property), (gst_audio_reverb_setup),
(gst_audio_reverb_stop), (gst_audio_reverb_transform_ip):
* gst/audiofx/audioreverb.h:
* tests/check/Makefile.am:
* tests/check/elements/audioreverb.c: (setup_reverb),
(cleanup_reverb), (GST_START_TEST), (audioreverb_suite):
Add an echo/reverb filter to the audiofx plugin, with configurable
echo delay, intensity and feedback. Fixes bug #567874.
2009-01-19 11:19:08 +00:00
Sebastian Dröge 75c1c9f378 Add audioiirfilter and audiofirfilter elements which allow generic IIR/FIR 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.
2009-01-13 19:23:57 +00:00
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 0016658ace gst/audiofx/: Implement a base class for generic audio FIR filters.
Original commit message from CVS:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiofxbasefirfilter.c:
(gst_audio_fx_base_fir_filter_dispose),
(gst_audio_fx_base_fir_filter_base_init),
(gst_audio_fx_base_fir_filter_class_init),
(gst_audio_fx_base_fir_filter_init),
(gst_audio_fx_base_fir_filter_push_residue),
(gst_audio_fx_base_fir_filter_setup),
(gst_audio_fx_base_fir_filter_transform),
(gst_audio_fx_base_fir_filter_start),
(gst_audio_fx_base_fir_filter_stop),
(gst_audio_fx_base_fir_filter_query),
(gst_audio_fx_base_fir_filter_query_type),
(gst_audio_fx_base_fir_filter_event),
(gst_audio_fx_base_fir_filter_set_kernel):
* gst/audiofx/audiofxbasefirfilter.h:
* gst/audiofx/audiofxbaseiirfilter.c:
Implement a base class for generic audio FIR filters.
* gst/audiofx/audiowsincband.c:
(gst_gst_audio_wsincband_mode_get_type),
(gst_gst_audio_wsincband_window_get_type),
(gst_audio_wsincband_base_init), (gst_audio_wsincband_class_init),
(gst_audio_wsincband_init), (gst_audio_wsincband_build_kernel),
(gst_audio_wsincband_setup), (gst_audio_wsincband_set_property),
(gst_audio_wsincband_get_property):
* gst/audiofx/audiowsincband.h:
* gst/audiofx/audiowsinclimit.c:
(gst_audio_wsinclimit_mode_get_type),
(gst_audio_wsinclimit_window_get_type),
(gst_audio_wsinclimit_base_init),
(gst_audio_wsinclimit_class_init), (gst_audio_wsinclimit_init),
(gst_audio_wsinclimit_build_kernel), (gst_audio_wsinclimit_setup),
(gst_audio_wsinclimit_set_property),
(gst_audio_wsinclimit_get_property):
* gst/audiofx/audiowsinclimit.h:
* tests/check/elements/audiowsincband.c: (GST_START_TEST):
* tests/check/elements/audiowsinclimit.c: (GST_START_TEST):
Use this new base class for audiowsincband and audiowsinclimit.
Also cleanup both elements.
2009-01-11 19:03:38 +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
Thomas Vander Stichele b3dc426c4e gst/: Make author name consistent with others.
Original commit message from CVS:
* gst/audiofx/audiowsincband.c:
* gst/audiofx/audiowsinclimit.c:
* gst/cutter/gstcutter.c:
Make author name consistent with others.
2008-11-10 13:59:27 +00:00
Stefan Kost 084812bffd Don't install static libs for plugins. Fixes #550851 for -good.
Original commit message from CVS:
* ext/aalib/Makefile.am:
* ext/annodex/Makefile.am:
* ext/cairo/Makefile.am:
* ext/dv/Makefile.am:
* ext/esd/Makefile.am:
* ext/flac/Makefile.am:
* ext/gconf/Makefile.am:
* ext/gdk_pixbuf/Makefile.am:
* ext/hal/Makefile.am:
* ext/jpeg/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/libcaca/Makefile.am:
* ext/libmng/Makefile.am:
* ext/libpng/Makefile.am:
* ext/mikmod/Makefile.am:
* ext/pulse/Makefile.am:
* ext/raw1394/Makefile.am:
* ext/shout2/Makefile.am:
* ext/soup/Makefile.am:
* ext/speex/Makefile.am:
* ext/taglib/Makefile.am:
* ext/wavpack/Makefile.am:
* gst/alpha/Makefile.am:
* gst/apetag/Makefile.am:
* gst/audiofx/Makefile.am:
* gst/auparse/Makefile.am:
* gst/autodetect/Makefile.am:
* gst/avi/Makefile.am:
* gst/cutter/Makefile.am:
* gst/debug/Makefile.am:
* gst/effectv/Makefile.am:
* gst/equalizer/Makefile.am:
* gst/flx/Makefile.am:
* gst/goom/Makefile.am:
* gst/goom2k1/Makefile.am:
* gst/icydemux/Makefile.am:
* gst/id3demux/Makefile.am:
* gst/interleave/Makefile.am:
* gst/law/Makefile.am:
* gst/level/Makefile.am:
* gst/matroska/Makefile.am:
* gst/median/Makefile.am:
* gst/monoscope/Makefile.am:
* gst/multifile/Makefile.am:
* gst/multipart/Makefile.am:
* gst/oldcore/Makefile.am:
* gst/qtdemux/Makefile.am:
* gst/replaygain/Makefile.am:
* gst/rtp/Makefile.am:
* gst/rtsp/Makefile.am:
* gst/smpte/Makefile.am:
* gst/spectrum/Makefile.am:
* gst/udp/Makefile.am:
* gst/videobox/Makefile.am:
* gst/videocrop/Makefile.am:
* gst/videofilter/Makefile.am:
* gst/videomixer/Makefile.am:
* gst/wavenc/Makefile.am:
* gst/wavparse/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/oss/Makefile.am:
* sys/osxaudio/Makefile.am:
* sys/osxvideo/Makefile.am:
* sys/sunaudio/Makefile.am:
* sys/v4l2/Makefile.am:
* sys/waveform/Makefile.am:
* sys/ximage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for -good.
2008-11-04 12:28:34 +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