Commit graph

2374 commits

Author SHA1 Message Date
Jan Schmidt
31b2b89cfe Don't use Glib 2.16 function g_strcmp0. 2009-01-30 17:35:49 +00:00
Jan Schmidt
fea851d100 Don't do void pointer arithmetic 2009-01-30 17:34:45 +00:00
Jan Schmidt
367f9123de Fix Forte compiler warnings.
Don't do void pointer arithmetic. Don't have an unreachable statement.
2009-01-30 17:26:19 +00:00
Edward Hervey
35848f66d8 Remove useless processing for non-raw formats 2009-01-30 17:01:30 +01:00
Edward Hervey
b2f17781ac Add support for the 'Requirement' and 'Encoder' tags 2009-01-30 15:34:31 +01:00
Edward Hervey
1af5a5d001 Modify private-tag name formatter so that it doesn't go mad at fourcc starting with '(c)'. 2009-01-30 15:33:19 +01:00
Thijs Vermeir
1c3fb99252 Only unref the peer when there is one. 2009-01-29 14:08:56 +01:00
Stefan Kost
8e462968cf Remove version numbers from a few gst-launch examples.
The majority of the examples doe not use -0.10 and this will also help us to maintain the docs.
2009-01-29 11:07:59 +02:00
Stefan Kost
bdb07d50be Add ' to framerate argument and remove the word 'simple' as all our pipelines are apparently simple. 2009-01-29 10:12:43 +02:00
Stefan Kost
9cf73bdd8f Update and add documentation for plugins with deps (ext).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered. Fix warnings that gtk-doc points out.
2009-01-28 18:05:09 +02: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
Peter Kjellerstedt
ceb175f087 Plug a memory leak in a debug message. 2009-01-26 16:14:47 +01:00
Peter Kjellerstedt
5f642f38bd Correct return value from gst_udp_get_addr() when no known family is found. 2009-01-26 15:49:22 +01:00
David Schleef
66de4c1bba Add a few more video fourcc's 2009-01-25 19:26:46 -08:00
Thijs Vermeir
27093c19a4 Add unit test for aspectratiocrop Fixes bug #527951
Add unit test for aspectratiocrop and refactor this element. Added
finalize function to cleanup leaking mutex.
2009-01-25 18:40:42 +01: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
Thijs Vermeir
18b7726b7b Fix link in documentation of videocrop element 2009-01-24 14:21:56 +01:00
Thijs Vermeir
56b3efb077 Add documentation for aspectratiocrop 2009-01-24 14:21:56 +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
Thijs Vermeir
c1cb1e0c5b Add aspectratiocrop element. Fixes bug #527951
Add new aspectratiocrop element that crops the video
to a specified aspect ratio using videocrop.
2009-01-23 15:52:55 +01:00
Thijs Vermeir
1b82293248 Fix navigation event forwarding while cropping. Fixes bug #567992.
Fix the navigation event forwarding while cropping by adjusting
the mouse position by the amount of cropped pixels.
2009-01-23 10:49:28 +01:00
David Schleef
bdc20b9baf Fix for security advisory TKADV2009-0xx
Fix potential buffer overflows while reading quicktime headers.
Security issue noticed by Tobias Klein.
2009-01-22 14:33:05 +00: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
Wim Taymans
16799b6b16 Free leftover udp ports (if any) when a setup request fails. 2009-01-22 12:21:29 +01:00
Luotao Fu
0a89f5e50c gst/videocrop/gstvideocrop.c: Add 8bit grayscale support to videocrop plugin. Fixes #567952.
Original commit message from CVS:
Patch by: Luotao Fu <l dot fu at pengutronix dot de>
* gst/videocrop/gstvideocrop.c:
(gst_video_crop_get_image_details_from_caps):
Add 8bit grayscale support to videocrop plugin. Fixes #567952.
2009-01-19 11:44:36 +00: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
d912a42065 gst/spectrum/gstspectrum.*: Implement a simple compensation algorithm for rounding errors.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c: (gst_spectrum_reset_state),
(gst_spectrum_transform_ip):
* gst/spectrum/gstspectrum.h:
Implement a simple compensation algorithm for rounding errors.
This makes sure that a spectrum message is posted on the bus
every interval nanoseconds. Fixes bug #567955.
2009-01-19 10:13:53 +00:00
Wim Taymans
293671170e gst/qtdemux/qtdemux.c: Catch invalid and commonly wrong playback rates in the elst atoms.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_segments):
Catch invalid and commonly wrong playback rates in the elst atoms.
Fixes #567800.
2009-01-15 14:53:18 +00:00
Sebastian Dröge
9ee7150985 gst/spectrum/gstspectrum.c: Don't call gst_fft_f32_free() with NULL to prevent a crash. Fixes bug #567642.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c: (gst_spectrum_reset_state):
Don't call gst_fft_f32_free() with NULL to prevent a
crash. Fixes bug #567642.
2009-01-15 11:40:23 +00:00
Sebastian Dröge
f4b2d38c87 gst/spectrum/gstspectrum.*: Use correct types for frame/fft counters and some minor cleanup.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c: (gst_spectrum_transform_ip):
* gst/spectrum/gstspectrum.h:
Use correct types for frame/fft counters and some minor
cleanup.
2009-01-14 15:44:18 +00:00
Sebastian Dröge
5d001b3ab6 gst/spectrum/: Post a spectrum message on the bus for every interval, even if the interval is small than the length o...
Original commit message from CVS:
* gst/spectrum/Makefile.am:
* gst/spectrum/README:
* gst/spectrum/gstspectrum.c: (gst_spectrum_base_init),
(gst_spectrum_class_init), (gst_spectrum_init),
(gst_spectrum_reset_state), (gst_spectrum_finalize),
(gst_spectrum_set_property), (gst_spectrum_start),
(gst_spectrum_stop), (gst_spectrum_setup),
(gst_spectrum_transform_ip):
* gst/spectrum/gstspectrum.h:
Post a spectrum message on the bus for every interval, even
if the interval is small than the length of the FFT.
Fixes bug #567642.
Major cleanup of the spectrum element.
2009-01-14 10:46:54 +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
Thiago Sousa Santos
5f5ae768b8 gst/qtdemux/qtdemux.c: Fix format string for guint64.
Original commit message from CVS:
Patch by: Thiago Sousa Santos <thiagoss@embedded.ufcg.edu.br>
* gst/qtdemux/qtdemux.c:
Fix format string for guint64.
2009-01-13 19:09:19 +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
Michael Smith
1d32ad886e gst/qtdemux/qtdemux.c: In push mode, error out if we get EOS before we've created any srcpads.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
In push mode, error out if we get EOS before we've created any srcpads.
Handle (in pull mode) some files that have a truncated moov atom where
the final sub-atom is a 'free' atom and the contents of that are not
present in the file.
2009-01-08 18:17:13 +00:00
Mark Nauwelaerts
7958cf82ab gst/matroska/: Some cleanups, refactoring and minor enhancements in caps handling.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_video_pad_setcaps):
Some cleanups, refactoring and minor enhancements in caps handling.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_class_init),
(gst_matroska_mux_init), (gst_matroska_pad_reset),
(gst_matroska_pad_free), (gst_matroska_mux_reset),
(gst_matroska_mux_video_pad_setcaps),
(gst_matroska_mux_request_new_pad):
* tests/check/elements/matroskamux.c: (teardown_src_pad):
Only remove, release or reset what is appropriate upon state change.
2009-01-08 15:56:46 +00:00
Mark Nauwelaerts
24eed322dc gst/avi/gstavimux.c: Minor fix/cleanup in header field calculation.
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_audsink_set_caps):
Minor fix/cleanup in header field calculation.
2009-01-07 09:43:13 +00:00
Mark Nauwelaerts
85c6c25264 gst/matroska/matroska-mux.*: Remove internal taglist and fully use tagsetter interface.
Original commit message from CVS:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_reset),
(gst_matroska_mux_handle_sink_event), (gst_matroska_mux_finish):
* gst/matroska/matroska-mux.h:
Remove internal taglist and fully use tagsetter interface.
2009-01-06 17:48:10 +00:00
Mark Nauwelaerts
b506ab9918 gst/avi/gstavimux.*: Ensure header size invariance during subsequent rewrite by using tags snapshot.
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_reset),
(gst_avi_mux_riff_get_avi_header):
* gst/avi/gstavimux.h:
Ensure header size invariance during subsequent rewrite by using
tags snapshot.
2009-01-06 14:50:29 +00:00
Mark Nauwelaerts
455e24c0a3 gst/qtdemux/: Streamline tag handling and pass unparsed tags as binary blob in private tag.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_tag_add_str),
(qtdemux_tag_add_tmpo), (qtdemux_tag_add_covr),
(qtdemux_tag_add_date), (qtdemux_tag_add_gnre),
(qtdemux_tag_add_blob), (qtdemux_parse_udta):
* gst/qtdemux/qtdemux.h:
* gst/qtdemux/quicktime.c: (plugin_init):
Streamline tag handling and pass unparsed tags as binary blob
in private tag.
2009-01-05 11:42:09 +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
j^
dc4240de34 gst/qtdemux/qtdemux.c: Add codec mapping for xvid, fmp4 and ac3 tracks.
Original commit message from CVS:
Patch by: j^ <j at oil21.org>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps),
(qtdemux_audio_caps):
Add codec mapping for xvid, fmp4 and ac3 tracks.
Fixes #565850
2008-12-28 09:50:31 +00:00
Stefan Kost
211bda0966 ext/pulse/pulsemixerctrl.c: And remove temporary comment pointing to the bug ticket.
Original commit message from CVS:
* ext/pulse/pulsemixerctrl.c:
And remove temporary comment pointing to the bug ticket.
* gst/avi/gstavimux.c:
Move reoccuring logging to LOG and log instance too.
2008-12-19 09:36:45 +00:00
Stefan Kost
36b879f7c3 gst/avi/gstavimux.c: Rename api from _flush to _reset_tags.
Original commit message from CVS:
* gst/avi/gstavimux.c:
Rename api from _flush to _reset_tags.
2008-12-16 16:07:48 +00:00
Stefan Kost
9e72ba8464 gst/avi/gstavimux.c: Use new tagsetter api to flush tags.
Original commit message from CVS:
* gst/avi/gstavimux.c:
Use new tagsetter api to flush tags.
2008-12-16 14:22:51 +00:00
Stefan Kost
b067b81453 gst/avi/gstavimux.*: Totally remove the internal taglists and fully use tagsetter.
Original commit message from CVS:
* gst/avi/gstavimux.c:
* gst/avi/gstavimux.h:
Totally remove the internal taglists and fully use tagsetter.
2008-12-16 11:57:01 +00:00
Stefan Kost
8add29398d gst/avi/gstavimux.c: Instead of filtering wrongly just use the mergemode. Applications is use KEEP_ALL if they want t...
Original commit message from CVS:
* gst/avi/gstavimux.c:
Instead of filtering wrongly just use the mergemode. Applications is
use KEEP_ALL if they want to supress tag-events. Fixes #563221 for
avi for real (I hope). Everyone chime in, before I fix the others.
2008-12-15 15:59:53 +00:00