summaryrefslogtreecommitdiffstats
path: root/tests/check/elements
Commit message (Collapse)AuthorAgeFilesLines
...
* gst/id3demux/id3v2frames.c: Extract license/copyright URIs from ID3v2 WCOP ↵Jason Kivlighn2007-10-111-0/+27
| | | | | | | | | | | | | | frames (Fixes #447000). Original commit message from CVS: Based on patch by: Jason Kivlighn <jkivlighn gmail com> * gst/id3demux/id3v2frames.c: Extract license/copyright URIs from ID3v2 WCOP frames (Fixes #447000). * tests/check/elements/id3demux.c: * tests/files/Makefile.am: * tests/files/id3-447000-wcop.tag: Add simple unit test.
* Update my mail address.Sebastian Dröge2007-09-131-1/+1
| | | | | | | | | Original commit message from CVS: * ext/taglib/gstapev2mux.cc: * ext/taglib/gstapev2mux.h: * ext/taglib/gsttaglibmux.c: * tests/check/elements/apev2mux.c: Update my mail address.
* Port GstSpectrum to GstAudioFilter and libgstfft, add support for int32, ↵Sebastian Dröge2007-09-061-19/+374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | float and double, use floats for the message... Original commit message from CVS: * configure.ac: * gst/spectrum/Makefile.am: * gst/spectrum/demo-audiotest.c: (draw_spectrum), (message_handler), (main): * gst/spectrum/demo-osssrc.c: (draw_spectrum), (message_handler): * gst/spectrum/gstspectrum.c: (gst_spectrum_base_init), (gst_spectrum_class_init), (gst_spectrum_init), (gst_spectrum_dispose), (gst_spectrum_set_property), (gst_spectrum_get_property), (gst_spectrum_start), (gst_spectrum_setup), (gst_spectrum_message_new), (gst_spectrum_transform_ip): * gst/spectrum/gstspectrum.h: Port GstSpectrum to GstAudioFilter and libgstfft, add support for int32, float and double, use floats for the message contents, average all FFTs done in one interval for better results, use a better windowing function, allow posting the phase in the message and actually do an FFT with the requested number of bands instead of interpolating. * tests/check/elements/spectrum.c: (GST_START_TEST), (spectrum_suite): Improve the units tests by checking for a 11025Hz sine wave and add unit tests for all 4 supported sample types.
* tests/check/elements/: Also test everything in 32 bit float mode.Sebastian Dröge2007-08-192-42/+785
| | | | | | | | | Original commit message from CVS: * tests/check/elements/bpwsinc.c: (GST_START_TEST), (bpwsinc_suite): * tests/check/elements/lpwsinc.c: (GST_START_TEST), (lpwsinc_suite): Also test everything in 32 bit float mode.
* tests/check/elements/: Also test 32 bit float mode and the type 2 variants ↵Sebastian Dröge2007-08-194-74/+3570
| | | | | | | | | | | of the filters. Original commit message from CVS: * tests/check/elements/audiochebyshevfreqband.c: (GST_START_TEST), (audiochebyshevfreqband_suite): * tests/check/elements/audiochebyshevfreqlimit.c: (GST_START_TEST), (audiochebyshevfreqlimit_suite): Also test 32 bit float mode and the type 2 variants of the filters.
* Use generator macros for the process functions for the different sample ↵Sebastian Dröge2007-08-171-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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/filter/gstbpwsinc.*: Implement latency query and only forward those ↵Sebastian Dröge2007-08-161-68/+92
| | | | | | | | | | | | | | | | | | | | 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-165-0/+1626
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-161-48/+62
| | | | | | | | | | | | | | | | | | 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.
* tests/check/elements/bpwsinc.c: Make one test constraint a bit stricter.Sebastian Dröge2007-08-121-1/+1
| | | | | | Original commit message from CVS: * tests/check/elements/bpwsinc.c: (GST_START_TEST): Make one test constraint a bit stricter.
* tests/check/: Add unit tests for bpwsinc, testing fundamental functionality ↵Sebastian Dröge2007-08-121-0/+525
| | | | | | | | | | | again. Original commit message from CVS: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/bpwsinc.c: (setup_bpwsinc), (cleanup_bpwsinc), (GST_START_TEST), (bpwsinc_suite), (main): Add unit tests for bpwsinc, testing fundamental functionality again.
* tests/check/: Add unit tests for lpwsinc, testing fundamental functionality.Sebastian Dröge2007-08-121-0/+388
| | | | | | | | | Original commit message from CVS: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/lpwsinc.c: (setup_lpwsinc), (cleanup_lpwsinc), (GST_START_TEST), (lpwsinc_suite), (main): Add unit tests for lpwsinc, testing fundamental functionality.
* Use the new buffer clipping function from gstaudio here and require ↵Sebastian Dröge2007-07-241-0/+3
| | | | | | | | | | | | | gst-plugins-base CVS. Original commit message from CVS: * configure.ac: * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset), (gst_wavpack_dec_chain), (gst_wavpack_dec_sink_event): Use the new buffer clipping function from gstaudio here and require gst-plugins-base CVS. * tests/check/elements/wavpackdec.c: (GST_START_TEST): For framed Wavpack buffers we require a valid timestamp.
* tests/check/elements/videocrop.c: Fix the test.Stefan Kost2007-07-181-26/+28
| | | | | | Original commit message from CVS: * tests/check/elements/videocrop.c: (GST_START_TEST): Fix the test.
* Fix memory leaks.Edward Hervey2007-06-221-1/+0
| | | | | | | | | | | | | Original commit message from CVS: * ext/flac/gstflactag.c: (gst_flac_tag_init): * gst/interleave/deinterleave.c: (deinterleave_init), (deinterleave_sink_link): * gst/interleave/interleave.c: (interleave_init): * gst/median/gstmedian.c: (gst_median_init): * gst/oldcore/gstmultifilesrc.c: (gst_multifilesrc_init): Fix memory leaks. * tests/check/elements/id3demux.c: (pad_added_cb): Remove unused variable.
* gst/spectrum/gstspectrum.c: Fix leaking buffers.Stefan Kost2007-06-201-0/+216
| | | | | | | | | | | Original commit message from CVS: * gst/spectrum/gstspectrum.c: (gst_spectrum_event), (gst_spectrum_transform_ip): Fix leaking buffers. * tests/check/Makefile.am: * tests/check/elements/spectrum.c: (setup_spectrum), (cleanup_spectrum), (GST_START_TEST), (spectrum_suite), (main): Add simple test for spectrum element.
* tests/check/: Add GST_OPTION_CFLAGS to CFLAGS when building unit tests, so ↵Tim-Philipp Müller2007-06-195-8/+4
| | | | | | | | | | | | | | | the error flags are included and it errors... Original commit message from CVS: * tests/check/Makefile.am: * tests/check/elements/audiopanorama.c: (GST_START_TEST): * tests/check/elements/videocrop.c: (GST_START_TEST): * tests/check/elements/videofilter.c: * tests/check/elements/wavpackdec.c: (GST_START_TEST): * tests/check/elements/wavpackparse.c: (GST_START_TEST): Add GST_OPTION_CFLAGS to CFLAGS when building unit tests, so the error flags are included and it errors out on compiler warnings for CVS builds; remove unused variables in various unit tests.
* tests/: Hush the buildbots upJan Schmidt2007-06-141-0/+1
| | | | | | | Original commit message from CVS: * tests/check/elements/.cvsignore: * tests/icles/.cvsignore: Hush the buildbots up
* moap ignoreThomas Vander Stichele2007-06-081-0/+3
| | | | | Original commit message from CVS: moap ignore
* Add replaygain playback elements (#412710).René Stadler2007-05-193-88/+910
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Patch by: René Stadler <mail at renestadler de> * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/inspect/plugin-replaygain.xml: * gst/replaygain/Makefile.am: * gst/replaygain/gstrganalysis.c: (gst_rg_analysis_class_init), (gst_rg_analysis_start), (gst_rg_analysis_set_caps), (gst_rg_analysis_transform_ip), (gst_rg_analysis_event), (gst_rg_analysis_stop), (gst_rg_analysis_handle_tags), (gst_rg_analysis_handle_eos), (gst_rg_analysis_track_result), (gst_rg_analysis_album_result): * gst/replaygain/gstrganalysis.h: * gst/replaygain/gstrglimiter.c: (gst_rg_limiter_base_init), (gst_rg_limiter_class_init), (gst_rg_limiter_init), (gst_rg_limiter_set_property), (gst_rg_limiter_get_property), (gst_rg_limiter_transform_ip): * gst/replaygain/gstrglimiter.h: * gst/replaygain/gstrgvolume.c: (gst_rg_volume_base_init), (gst_rg_volume_class_init), (gst_rg_volume_init), (gst_rg_volume_set_property), (gst_rg_volume_get_property), (gst_rg_volume_dispose), (gst_rg_volume_change_state), (gst_rg_volume_sink_event), (gst_rg_volume_tag_event), (gst_rg_volume_reset), (gst_rg_volume_update_gain), (gst_rg_volume_determine_gain): * gst/replaygain/gstrgvolume.h: * gst/replaygain/replaygain.c: (plugin_init): * gst/replaygain/replaygain.h: * gst/replaygain/rganalysis.h: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/rganalysis.c: (send_eos_event), (GST_START_TEST): * tests/check/elements/rglimiter.c: (setup_rglimiter), (cleanup_rglimiter), (set_playing_state), (create_test_buffer), (verify_test_buffer), (GST_START_TEST), (rglimiter_suite), (main): * tests/check/elements/rgvolume.c: (event_func), (setup_rgvolume), (cleanup_rgvolume), (set_playing_state), (set_null_state), (send_eos_event), (send_tag_event), (test_buffer_new), (fail_unless_target_gain), (fail_unless_result_gain), (fail_unless_gain), (GST_START_TEST), (rgvolume_suite), (main): Add replaygain playback elements (#412710).
* gst/alpha/gstalphacolor.c: Double-check that RGB input caps are really RGBA ↵Tim-Philipp Müller2007-04-252-0/+295
| | | | | | | | | | | | | | | | | | | caps (apparently the core doesn't always ... Original commit message from CVS: * gst/alpha/gstalphacolor.c: (gst_alpha_color_base_init), (gst_alpha_color_transform_caps), (gst_alpha_color_set_caps): Double-check that RGB input caps are really RGBA caps (apparently the core doesn't always catch it if those caps aren't a subset of our template caps, also see #421543). Fixes #429319 in a way. Also, don't leak the pad template in the transform_caps function. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/alphacolor.c: (setup_alphacolor), (cleanup_alphacolor), (create_caps_rgb24), (create_caps_rgba32), (create_buffer_rgb24_3x4), (create_buffer_rgba32_3x4), (GST_START_TEST), (alphacolor_suite): Add some basic unit tests for alphacolor.
* ext/wavpack/: Don't play audioconvert. As wavpack wants/outputs all samples ↵Sebastian Dröge2007-03-303-11/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with width==32 and depth=[1,32] accept th... Original commit message from CVS: * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset), (gst_wavpack_dec_init), (gst_wavpack_dec_sink_set_caps), (gst_wavpack_dec_clip_outgoing_buffer), (gst_wavpack_dec_post_tags), (gst_wavpack_dec_chain): * ext/wavpack/gstwavpackdec.h: * ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_reset), (gst_wavpack_enc_sink_set_caps), (gst_wavpack_enc_set_wp_config), (gst_wavpack_enc_chain): * ext/wavpack/gstwavpackenc.h: * ext/wavpack/gstwavpackparse.c: Don't play audioconvert. As wavpack wants/outputs all samples with width==32 and depth=[1,32] accept this and let audioconvert convert to accepted formats instead of doing it in the element for n*8 depths. This also adds support for non-n*8 depths and prevents some useless memory allocations. Fixes #421598 Also add a workaround for bug #421542 in wavpackenc for now... * tests/check/elements/wavpackdec.c: (GST_START_TEST): * tests/check/elements/wavpackenc.c: (GST_START_TEST): * tests/check/elements/wavpackparse.c: (GST_START_TEST): Consider the change above in the unit tests and test if the correct caps are accepted and set. Also check for GST_BUFFER_OFFSET_END in the wavpackparse unit test. * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_init), (gst_wavpack_dec_sink_set_caps): Set caps on the src pad as soon as possible. * ext/wavpack/gstwavpackdec.h: * ext/wavpack/gstwavpackcommon.h: * ext/wavpack/gstwavpackenc.h: * ext/wavpack/gstwavpackparse.h: Fix indention. gst-indent is now called by cicl.
* sys/sunaudio/: Actually translate sunaudio mixer track labels instead of ↵Tim-Philipp Müller2007-03-092-1/+96
| | | | | | | | | | | | | | | | | | | | just marking the strings as translatable (#3... Original commit message from CVS: * sys/sunaudio/gstsunaudio.c: (plugin_init): * sys/sunaudio/gstsunaudiomixertrack.c: (gst_sunaudiomixer_track_new): Actually translate sunaudio mixer track labels instead of just marking the strings as translatable (#377306); clean up weird label string mapping code that serves no apparent purpose. Also set the 'untranslated-label' property when creating mixer tracks if the GstMixerTrack base class supports this. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/sunaudio.c: (GST_START_TEST), (sunaudio_suite): Very minimalistic unit test for sunaudiomixer element (compiles, but not actually tested on a system where sunaudiomixer is available).
* tests/check/elements/.cvsignore: Add audiodynamic check to .cvsignoreSebastian Dröge2007-03-081-0/+1
| | | | | | Original commit message from CVS: * tests/check/elements/.cvsignore: Add audiodynamic check to .cvsignore
* gst/audiofx/: Add new audiodynamic element which can act as a compressor or ↵Sebastian Dröge2007-03-081-0/+459
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/id3demux/gstid3demux.c: Don't leak caps: make gst_id3demux_add_srcpad() ↵Tim-Philipp Müller2007-03-062-0/+192
| | | | | | | | | | | | | | | | | | | | | | | | | not take ownership of the caps passed to ... Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad), (gst_id3demux_sink_activate): Don't leak caps: make gst_id3demux_add_srcpad() not take ownership of the caps passed to it (previouslly one code path assumes it takes ownership while another one assumes it doesn't). * configure.ac: * tests/files/Makefile.am: * tests/files/id3-407349-1.tag: * tests/files/id3-407349-2.tag: Add directory where data for unit tests can be stored. * tests/Makefile.am: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/id3demux.c: (pad_added_cb), (error_cb), (read_tags_from_file), (run_check_for_file), (check_date_1977_06_23), (GST_START_TEST), (id3demux_suite): Add unit test for id3demux, and in particular for bug #407349. Only testing pull-mode for now; push mode doesn't work yet because the test files are smaller than ID3_TYPE_FIND_MIN_SIZE.
* tests/check/elements/.cvsignore: Add new videofilter check to .cvsignore.Wim Taymans2007-02-281-0/+1
| | | | | | Original commit message from CVS: * tests/check/elements/.cvsignore: Add new videofilter check to .cvsignore.
* gst/videofilter/: Port gamma filter to 0.10. Fixes #412704.Mark Nauwelaerts2007-02-281-0/+220
| | | | | | | | | | | | | | | | | Original commit message from CVS: Patch by: Mark Nauwelaerts <manauw at skynet be> * gst/videofilter/Makefile.am: * gst/videofilter/gstgamma.c: (gst_gamma_base_init), (gst_gamma_class_init), (gst_gamma_init), (gst_gamma_set_property), (gst_gamma_get_property), (gst_gamma_calculate_tables), (oil_tablelookup_u8), (gst_gamma_set_caps), (gst_gamma_planar411_ip), (gst_gamma_transform_ip), (plugin_init): Port gamma filter to 0.10. Fixes #412704. * tests/check/Makefile.am: * tests/check/elements/videofilter.c: (setup_filter), (cleanup_filter), (check_filter), (GST_START_TEST), (videobalance_suite), (videoflip_suite), (gamma_suite), (main): Add unit tests for videofilters.
* Fix level for multi-channel case.Stefan Kost2007-02-221-1/+1
| | | | | | | | | Original commit message from CVS: * gst/level/gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip): * sys/v4l2/README: * tests/check/elements/level.c: (GST_START_TEST): Fix level for multi-channel case.
* tests/check/elements/.cvsignore: Some more ignores.Wim Taymans2007-01-291-0/+2
| | | | | | Original commit message from CVS: * tests/check/elements/.cvsignore: Some more ignores.
* gst/audiofx/: Add new element "audioamplify". This allows scaling of raw ↵Sebastian Dröge2007-01-241-0/+469
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+286
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add support for more than one audio stream; write better AVIX header; ↵Mark Nauwelaerts2007-01-141-2/+3
| | | | | | | | | | | | | | | | | | | | | | | refactor code a bit; don't announce vorbis caps... Original commit message from CVS: Patch by: Mark Nauwelaerts <manauw at skynet be> * gst/avi/gstavimux.c: (gst_avi_mux_finalize), (gst_avi_mux_pad_reset), (gst_avi_mux_reset), (gst_avi_mux_init), (gst_avi_mux_vidsink_set_caps), (gst_avi_mux_audsink_set_caps), (gst_avi_mux_request_new_pad), (gst_avi_mux_release_pad), (gst_avi_mux_riff_get_avi_header), (gst_avi_mux_riff_get_avix_header), (gst_avi_mux_riff_get_header), (gst_avi_mux_write_avix_index), (gst_avi_mux_add_index), (gst_avi_mux_bigfile), (gst_avi_mux_start_file), (gst_avi_mux_stop_file), (gst_avi_mux_handle_event), (gst_avi_mux_do_buffer), (gst_avi_mux_do_one_buffer), (gst_avi_mux_change_state): * gst/avi/gstavimux.h: * tests/check/elements/avimux.c: (teardown_src_pad): Add support for more than one audio stream; write better AVIX header; refactor code a bit; don't announce vorbis caps on our audio sink pads since we don't support it anyway. Closes #379298.
* gst/audiofx/audiopanorama.*: Add 'method' property and provide a simple ↵Sebastian Dröge2007-01-131-0/+250
| | | | | | | | | | | | | | | | | | | | | | | (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.
* tests/check/elements/videocrop.c: When we can't create an element needed for ↵Tim-Philipp Müller2006-12-301-6/+6
| | | | | | | | | | the test, print a message detailing whic... Original commit message from CVS: * tests/check/elements/videocrop.c: (GST_START_TEST), (videocrop_test_cropping_init_context): When we can't create an element needed for the test, print a message detailing which element it actually is that's missing (#390673).
* tests/check/elements/: reapply consistent pad (de)activationStefan Kost2006-12-223-0/+10
| | | | | | | | | | | | | Original commit message from CVS: * tests/check/elements/mpeg2enc.c: (setup_mpeg2enc), (cleanup_mpeg2enc): * tests/check/elements/rganalysis.c: (cleanup_rganalysis): * tests/check/elements/wavpackdec.c: (setup_wavpackdec), (cleanup_wavpackdec): * tests/check/elements/wavpackenc.c: (setup_wavpackenc), (cleanup_wavpackenc): * tests/check/elements/y4menc.c: (setup_y4menc), (cleanup_y4menc): reapply consistent pad (de)activation
* tests/check/elements/: reapply consistent pad (de)activationStefan Kost2006-12-225-0/+18
| | | | | | | | | | | | Original commit message from CVS: * tests/check/elements/audiopanorama.c: (cleanup_panorama): * tests/check/elements/avimux.c: (setup_avimux), (cleanup_avimux): * tests/check/elements/cmmldec.c: (setup_cmmldec), (teardown_cmmldec): * tests/check/elements/cmmlenc.c: (setup_cmmlenc), (teardown_cmmlenc): * tests/check/elements/level.c: (setup_level), (cleanup_level): reapply consistent pad (de)activation
* tests/check/elements/mpeg2enc.c: (setup_mpeg2enc)Stefan Kost2006-12-213-10/+0
| | | | | | | | | | | | | Original commit message from CVS: * tests/check/elements/mpeg2enc.c: (setup_mpeg2enc) (cleanup_mpeg2enc): * tests/check/elements/rganalysis.c: (cleanup_rganalysis): * tests/check/elements/wavpackdec.c: (setup_wavpackdec), (cleanup_wavpackdec): * tests/check/elements/wavpackenc.c: (setup_wavpackenc), (cleanup_wavpackenc): * tests/check/elements/y4menc.c: (setup_y4menc), (cleanup_y4menc): revert my freeze breakage
* tests/check/elements/: revert my freeze breakageStefan Kost2006-12-215-18/+0
| | | | | | | | | | | | Original commit message from CVS: * tests/check/elements/audiopanorama.c: (cleanup_panorama): * tests/check/elements/avimux.c: (setup_avimux), (cleanup_avimux): * tests/check/elements/cmmldec.c: (setup_cmmldec), (teardown_cmmldec): * tests/check/elements/cmmlenc.c: (setup_cmmlenc), (teardown_cmmlenc): * tests/check/elements/level.c: (setup_level), (cleanup_level): revert my freeze breakage
* tests/check/elements/: consistent pad (de)activationStefan Kost2006-12-213-0/+10
| | | | | | | | | | | | | Original commit message from CVS: * tests/check/elements/mpeg2enc.c: (setup_mpeg2enc), (cleanup_mpeg2enc): * tests/check/elements/rganalysis.c: (cleanup_rganalysis): * tests/check/elements/wavpackdec.c: (setup_wavpackdec), (cleanup_wavpackdec): * tests/check/elements/wavpackenc.c: (setup_wavpackenc), (cleanup_wavpackenc): * tests/check/elements/y4menc.c: (setup_y4menc), (cleanup_y4menc): consistent pad (de)activation
* tests/check/elements/: consistent pad (de)activationStefan Kost2006-12-215-0/+18
| | | | | | | | | | | | Original commit message from CVS: * tests/check/elements/audiopanorama.c: (cleanup_panorama): * tests/check/elements/avimux.c: (setup_avimux), (cleanup_avimux): * tests/check/elements/cmmldec.c: (setup_cmmldec), (teardown_cmmldec): * tests/check/elements/cmmlenc.c: (setup_cmmlenc), (teardown_cmmlenc): * tests/check/elements/level.c: (setup_level), (cleanup_level): consistent pad (de)activation
* gst/matroska/matroska-mux.c: Use GST_DEBUG_FUNCPTR; activate request pad ↵Tim-Philipp Müller2006-11-161-2/+5
| | | | | | | | | | | | before returning it. Original commit message from CVS: * gst/matroska/matroska-mux.c: (gst_matroska_mux_class_init), (gst_matroska_mux_request_new_pad): Use GST_DEBUG_FUNCPTR; activate request pad before returning it. * tests/check/elements/matroskamux.c: (setup_src_pad), (setup_sink_pad), (GST_START_TEST): Activate pads before using them.
* Activate pads before adding them to running element.Tim-Philipp Müller2006-10-171-0/+1
| | | | | | | | | | Original commit message from CVS: * ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_set_wp_config): * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_create_src_pad): * gst/nuvdemux/gstnuvdemux.c: (gst_nuv_demux_create_pads): * tests/check/elements/wavpackparse.c: (wavpackparse_found_pad): Activate pads before adding them to running element.
* gst/: Activate pad before adding it to the already-running element.Tim-Philipp Müller2006-10-111-1/+1
| | | | | | | | | | Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_add_srcpad): * gst/icydemux/gsticydemux.c: (gst_icydemux_add_srcpad): * gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad): Activate pad before adding it to the already-running element. * tests/check/elements/icydemux.c: (icydemux_found_pad): Activate newly-created pad too.
* Add ReplayGain analysis element (#357069).René Stadler2006-10-061-0/+1871
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Patch by: René Stadler <mail at renestadler de> * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * gst/replaygain/Makefile.am: * gst/replaygain/gstrganalysis.c: (gst_rg_analysis_base_init), (gst_rg_analysis_class_init), (gst_rg_analysis_init), (gst_rg_analysis_set_property), (gst_rg_analysis_get_property), (gst_rg_analysis_start), (gst_rg_analysis_set_caps), (gst_rg_analysis_transform_ip), (gst_rg_analysis_event), (gst_rg_analysis_stop), (gst_rg_analysis_handle_tags), (gst_rg_analysis_handle_eos), (gst_rg_analysis_track_result), (gst_rg_analysis_album_result), (plugin_init): * gst/replaygain/gstrganalysis.h: * gst/replaygain/rganalysis.c: (yule_filter), (butter_filter), (apply_filters), (reset_filters), (accumulator_add), (accumulator_clear), (accumulator_result), (rg_analysis_new), (rg_analysis_set_sample_rate), (rg_analysis_destroy), (rg_analysis_analyze_mono_float), (rg_analysis_analyze_stereo_float), (rg_analysis_analyze_mono_int16), (rg_analysis_analyze_stereo_int16), (rg_analysis_analyze), (rg_analysis_track_result), (rg_analysis_album_result), (rg_analysis_reset_album), (rg_analysis_reset): * gst/replaygain/rganalysis.h: Add ReplayGain analysis element (#357069). * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/rganalysis.c: (get_expected_gain), (setup_rganalysis), (cleanup_rganalysis), (set_playing_state), (send_eos_event), (send_tag_event), (poll_eos), (poll_tags), (fail_unless_track_gain), (fail_unless_track_peak), (fail_unless_album_gain), (fail_unless_album_peak), (fail_if_track_tags), (fail_if_album_tags), (fail_unless_num_tracks), (test_buffer_const_float_mono), (test_buffer_const_float_stereo), (test_buffer_const_int16_mono), (test_buffer_const_int16_stereo), (test_buffer_square_float_mono), (test_buffer_square_float_stereo), (test_buffer_square_int16_mono), (test_buffer_square_int16_stereo), (push_buffer), (GST_START_TEST), (rganalysis_suite), (main): Unit tests for the new replaygain element.
* tests/check/Makefile.am: Disable autodetect test temporarily, so that the ↵Tim-Philipp Müller2006-09-291-2/+28
| | | | | | | | | | | build bots update -bad and the ranks of unr... Original commit message from CVS: * tests/check/Makefile.am: Disable autodetect test temporarily, so that the build bots update -bad and the ranks of unreliable video sinks in there. * tests/check/elements/autodetect.c: (GST_START_TEST): Skip test if no usable videosink is found.
* gst/autodetect/: Make static pad templates static to appease valgrind's leak ↵Tim-Philipp Müller2006-09-222-0/+130
| | | | | | | | | | | | | | | | | | | detector. Original commit message from CVS: * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_base_init): * gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_base_init): Make static pad templates static to appease valgrind's leak detector. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/autodetect.c: (GST_START_TEST), (autodetect_suite): Add simple test for the ghostpad lockup on shutdown fixed in core CVS (audio bit disabled because it would need dozens of alsa suppressions and I'm too lazy to add those now).
* gst/icydemux/gsticydemux.*: When we merge/collect multiple incoming buffers ↵Tim-Philipp Müller2006-09-141-8/+67
| | | | | | | | | | | | | | | | | for typefinding purposes, keep an initial... Original commit message from CVS: * gst/icydemux/gsticydemux.c: (gst_icydemux_reset), (gst_icydemux_typefind_or_forward): * gst/icydemux/gsticydemux.h: When we merge/collect multiple incoming buffers for typefinding purposes, keep an initial 0 offset on the first outgoing buffer as well (otherwise id3demux won't work right). Fixes #345449. Also Make buffer metadata writable before setting buffer caps. * tests/check/elements/icydemux.c: (typefind_succeed), (cleanup_icydemux), (push_data), (GST_START_TEST), (icydemux_suite): Small test case for the above.
* configure.ac: Bump requirements of -base (videocrop test case needs this).Tim-Philipp Müller2006-09-081-45/+213
| | | | | | | | | | | | | | | | Original commit message from CVS: * configure.ac: Bump requirements of -base (videocrop test case needs this). * gst/videocrop/gstvideocrop.c: Document sloppy handling of subsampled chroma planes if left/top cropping is an odd number. * tests/check/elements/videocrop.c: (handoff_cb), (videocrop_test_cropping_init_context), (videocrop_test_cropping_deinit_context), (videocrop_test_cropping), (check_1x1_buffer), (GST_START_TEST), (videocrop_suite), (main): Add another unit test that crops the input to 1x1 (and checks that that pixel has the expected values in a number of formats).
* tests/check/elements/videocrop.c: More tests: check passthrough mode and ↵Tim-Philipp Müller2006-09-031-0/+319
| | | | | | | | | | | caps transform in both directions with fixed... Original commit message from CVS: * tests/check/elements/videocrop.c: (handoff_cb), (buffer_probe_cb), (test_caps_transform), (test_passthrough), (notgst_value_list_get_nth_int), (videocrop_suite): More tests: check passthrough mode and caps transform in both directions with fixed values, ranges and lists.