Connect to the pad-removed signal of the ptdemux elements so that we remove the
ghostpads for them. Fixes cleanup when going to NULL as well as when releasing
the sinkpads.
Fixes#561752
flvmux only accepts raw audio in little endian, but audiotestsrc
produces audio in the native endianness, which makes linking
between audiotestsrc and flvmux fail on big endian machines. Add
an audioconvert element in between the two to fix this.
Reversing the unsynchronisation seems to work slightly differently
for ID3 v2.3 tags and v2.4 tags: v2.3 tags don't have syncsafe frame
sizes in the frame header, so the unsynchronisation is applied to
the whole frame data including all the frame headers. v2.4 frames
have sync-safe sizes, however, so the unsynchronisation only needs
to be applied to the actual frame data, and it seems that's what's
being done as well. So we need to undo the unsynchronisation on a
per-frame basis for v2.4 tags for things to work properly.
Fixes extraction of coverart/images from APIC frames in ID3 v2.4
tags (#588148).
Add unit test for this as well.
Request pads are removed by the element instance in PAUSED->READY
so we need to re-request pads for every run and link them again.
Last fix for bug #590447.
Move unit test data into the directory where it belongs and make in particular
the flacdec unit test cd into the directory with the test files instead of making
assumptions about the current working directory in that unit test. As a side effect
of movng those files, there's only one EXTRA_DIST in tests/check/Makefile.am now,
which is likely to work better than having two. Hopefully fixes#582753.
The test creates buffers with non-silence, sets the GAP
flag on it and expects rganalysis to ignore the content and assume silence.
That's not the way how GAP buffers should be used, if the GAP flag is set
elements *can* assume that they only contain silence but they're not *required*
to assume that. The GAP flag must only be set on silence buffers.
Fixes bug #582252.
Cast the new value for the "delay" property to GstClockTime.
Integers without type are passed to vararg functions with
an integer type that can hold a pointer.
A recent commit added video/x-raw-gray support to videocrop. However
this lets the videocrop unit test fail. Because videotestsrc can't
generate this format.
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.
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.
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.
Original commit message from CVS:
* tests/check/elements/videocrop.c: (check_1x1_buffer):
Update the unit test for the new color values for BT.601 red.
Fixes bug #563510.
Original commit message from CVS:
* tests/check/elements/souphttpsrc.c: (GST_START_TEST),
(run_server):
The ports in libsoup are unsigned integers and not signed
integers.
Original commit message from CVS:
* tests/check/elements/icydemux.c: (icydemux_found_pad):
Add some refcount check
* tests/check/elements/rtp-payloading.c: (rtp_pipeline_run):
Don't ignore the result of write(), fixes a compiler warning for me.
* tests/icles/videobox-test.c: (main):
Make the output a little more pretty.
Original commit message from CVS:
* gst/rtsp/URLS:
Add another URL.
* tests/check/elements/id3v2mux.c: (test_taglib_id3mux_with_tags):
* tests/check/elements/rglimiter.c: (GST_START_TEST):
Add some more debug info.
Original commit message from CVS:
* tests/check/elements/cmmldec.c: (GST_START_TEST):
* tests/check/elements/rtp-payloading.c: (rtp_pipeline_create),
(rtp_pipeline_run):
* tests/check/elements/souphttpsrc.c: (souphttpsrc_suite):
Don't use declarations after statements.
Original commit message from CVS:
* tests/check/elements/avimux.c: (check_avimux_pad):
Adjust avimux unit test according to increased streamheader size.
Original commit message from CVS:
* gst/interleave/interleave.c: (gst_interleave_pad_get_type),
(gst_interleave_finalize), (gst_audio_check_channel_positions),
(gst_interleave_set_channel_positions),
(gst_interleave_class_init), (gst_interleave_init),
(gst_interleave_set_property), (gst_interleave_get_property),
(gst_interleave_request_new_pad), (gst_interleave_release_pad),
(gst_interleave_sink_setcaps), (gst_interleave_src_query_duration),
(gst_interleave_src_query_latency), (gst_interleave_collected):
* gst/interleave/interleave.h:
Allow setting channel positions via a property and allow using the
channel positions on the input as the channel positions of the output.
Fix some broken logic and memory leaks.
* tests/check/Makefile.am:
* tests/check/elements/interleave.c: (src_handoff_float32),
(sink_handoff_float32), (GST_START_TEST), (interleave_suite):
Add unit tests for checking correct handling of channel positions.
Original commit message from CVS:
* docs/plugins/.cvsignore:
* tests/check/elements/.cvsignore:
Ignore some more generated things
* tests/check/Makefile.am:
Ignore OSS elements in the state changes test too.
Original commit message from CVS:
* gst/interleave/deinterleave.c:
Add another example launch line.
* gst/interleave/interleave.c: (interleave_24),
(gst_interleave_finalize), (gst_interleave_base_init),
(gst_interleave_class_init), (gst_interleave_init),
(gst_interleave_request_new_pad), (gst_interleave_release_pad),
(gst_interleave_change_state), (__remove_channels),
(__set_channels), (gst_interleave_sink_getcaps),
(gst_interleave_set_process_function),
(gst_interleave_sink_setcaps), (gst_interleave_sink_event),
(gst_interleave_src_query_duration), (gst_interleave_src_query),
(forward_event_func), (forward_event), (gst_interleave_src_event),
(gst_interleave_collected):
* gst/interleave/interleave.h:
Major rewrite of interleave using GstCollectpads. This new version
also supports almost all raw audio formats and has better caps
negotiation. Fixes bug #506594.
Also update docs and add some more examples.
* tests/check/elements/interleave.c: (interleave_chain_func),
(GST_START_TEST), (src_handoff_float32), (sink_handoff_float32),
(interleave_suite):
Add some more extensive unit tests for interleave.
Original commit message from CVS:
* tests/check/elements/deinterleave.c: (GST_START_TEST):
Set keep-positions property to TRUE for the 8 channel test to ensure
that the original channel position is set on the output.
Original commit message from CVS:
* gst/interleave/Makefile.am:
* gst/interleave/deinterleave.c: (deinterleave_24),
(gst_deinterleave_finalize), (gst_deinterleave_base_init),
(gst_deinterleave_class_init), (gst_deinterleave_init),
(gst_deinterleave_add_new_pads), (gst_deinterleave_set_pads_caps),
(gst_deinterleave_set_process_function),
(gst_deinterleave_sink_setcaps), (__remove_channels),
(__set_channels), (gst_deinterleave_getcaps),
(gst_deinterleave_process), (gst_deinterleave_chain),
(gst_deinterleave_sink_activate_push):
* gst/interleave/deinterleave.h:
Add support for all raw audio formats and provide better negotiation
if the caps are changing.
Don't allow changes of the channel positions and set the position of
the corresponding channel on the src pad caps.
General cleanup and smaller bugfixes.
* tests/check/elements/deinterleave.c: (float_buffer_check_probe):
Check the channel positions on the output buffer caps.
Original commit message from CVS:
* tests/check/Makefile.am:
Add deinterleave unit test to VALGRIND_TO_FIX, since it causes
weird invalid free errors in valgrind/libc after _exit for some
reason.
* tests/check/elements/deinterleave.c: (pads_created),
(set_channel_positions), (src_handoff_float32_8ch),
(float_buffer_check_probe),
(pad_added_setup_data_check_float32_8ch_cb),
(make_fake_src_8chans_float32), (GST_START_TEST),
(deinterleave_suite):
Add some more deinterleave unit test bits I had locally.
Original commit message from CVS:
* gst/interleave/Makefile.am:
* gst/interleave/deinterleave.h:
* gst/interleave/interleave.h:
* gst/interleave/plugin.h:
Split definitions into separate header files for better documentation
generation.
* gst/interleave/deinterleave.c: (gst_deinterleave_base_init),
(gst_deinterleave_class_init), (gst_deinterleave_sink_setcaps),
(gst_deinterleave_process):
Don't use alloca, allow caps changes as long as the number of channels
does not change, don't use g_warning, return NOT_NEGOTIATED as early
as possible and some other cleanup.
* gst/interleave/interleave.c: (gst_interleave_base_init),
(gst_interleave_class_init):
Do some random cleanup.
* tests/check/Makefile.am:
* tests/check/elements/deinterleave.c: (GST_START_TEST),
(deinterleave_chain_func), (deinterleave_pad_added),
(deinterleave_suite):
Add unit tests for the deinterleave element.
Original commit message from CVS:
* tests/check/elements/multifile.c:
Include stdlib.h and unistd.h for mkdtemp. Some platforms have it
declared in the former, some have it declared in the latter.
Original commit message from CVS:
* tests/check/Makefile.am:
Disable some more elements in the state test.
Add a define so the soup test can find the test files
it needs at runtime.
* tests/check/elements/souphttpsrc.c: (run_server):
Add a define so the soup test can find the test files
it needs at runtime.
Original commit message from CVS:
* tests/check/elements/souphttpsrc.c: (got_buffer),
(souphttpsrc_suite):
Increase the timeout for the internet tests to 250 seconds
and check for NULL caps instead of just crashing.
The real fix would be to implement an shoutcast server for the unit test
instead of relying on a working internet connection.
Fixes bug #521749.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/gdkpixbufsink.c:
Add unit test for gdkpixbufsink element.
Original commit message from CVS:
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_got_headers_cb),
(gst_soup_http_src_chunk_allocator),
(gst_soup_http_src_got_chunk_cb),
(gst_soup_http_src_uri_get_protocols):
Don't autoplug souphttpsrc for dav/davs. This is better handled by
GIO and GnomeVFS as they provide authentication.
Don't leak the icy caps if we already set them and get a new
icy-metaint header.
Try harder to set the icy caps on the output buffer to have correct
caps for the first buffer already.
* tests/check/elements/souphttpsrc.c: (got_buffer),
(GST_START_TEST):
Check that we get a buffer with application/x-icy caps if iradio-mode
is enabled and we have an icecast URL.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_class_init),
(gst_soup_http_src_init), (gst_soup_http_src_dispose),
(gst_soup_http_src_set_property), (gst_soup_http_src_get_property),
(gst_soup_http_src_create):
* ext/soup/gstsouphttpsrc.h:
* tests/check/elements/souphttpsrc.c: (run_test), (GST_START_TEST),
(souphttpsrc_suite):
Add support for specifying a list of cookies to be passed in
the HTTP request. Fixes bug #518722.
Original commit message from CVS:
patch by: Wim Taymans <wim.taymans@collabora.co.uk>
fixes: #514889
* gst/rtp/gstrtph264pay.c:
* gst/rtp/gstrtpmp4gdepay.c:
* gst/rtp/gstrtpmp4gpay.c:
* gst/rtp/gstrtpmp4gpay.h:
* gst/rtp/gstrtptheorapay.c:
* gst/rtp/gstrtpvorbispay.c:
Fix various leaks shown up in valgrind
- free sprops and buffer in error cases in H264 payloader
- fix leak in mp4g depayloader when construction the caps
- don't leak config string in the mp4g payloader
- don't leak buffers and headers in theora and vorbis payloaders
* tests/check/elements/rtp-payloading.c:
Fix the RTP data test
- Actually send valid amr data to the payloader instead of 20
zero-bytes
- The mp4g payloader expects codec_data on the caps
Original commit message from CVS:
* gst/multifile/gstmultifilesrc.c: (gst_multi_file_src_create):
* tests/check/elements/multifile.c: (GST_START_TEST):
Close some memory leaks spotted by the unit test. Fixes bug #515697.
Original commit message from CVS:
* gst/equalizer/Makefile.am:
* gst/spectrum/Makefile.am:
Fix includes order
* tests/check/Makefile.am:
Exclude v4l2src from the states test - it takes too long to start.
* tests/check/elements/spectrum.c:
Make the test run properly with CK_FORK=no
Original commit message from CVS:
* gst/multifile/gstmultifilesink.c:
* gst/multifile/gstmultifilesrc.c:
Use g_file_[sg]et_contents() instead of using stdio functions.
Should be less error prone.
* tests/check/elements/multifile.c:
Create a temporary directory using standard functions instead of
creating a directory in the current dir.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
Remove equalizer plugin docs
* tests/check/Makefile.am:
Add GST_OPTION_CFLAGS, to get -Werror -Wall into the tests as for
other modules.
* tests/check/elements/multifile.c:
* tests/check/elements/rganalysis.c:
* tests/check/elements/rglimiter.c:
Fix compiler warnings from -Wall -Werror
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/audiofx.c:
* gst/audiofx/audiowsincband.c:
* gst/audiofx/audiowsincband.h:
* gst/audiofx/audiowsinclimit.c:
* gst/audiofx/audiowsinclimit.h:
* tests/check/Makefile.am:
* tests/check/elements/audiowsincband.c:
* tests/check/elements/audiowsinclimit.c:
Move the lpwsinc and bpwsinc elements from gst-plugins-bad into
the audiofx plugin, and rename to audiowsinclimit and audiowsincband
respectively.
Fixes: #467666
Original commit message from CVS:
* gst/icydemux/gsticydemux.c: (gst_icydemux_chain):
* tests/check/elements/icydemux.c:
Return GST_FLOW_NOT_NEGOTIATED if we get a buffer without
caps, and add a somewhat useful debug message. Plus test.
Original commit message from CVS:
* tests/check/Makefile.am:
Add rtp-payloading test to VALGRIND_TO_FIX.
* tests/check/elements/rtp-payloading.c:
Add semicolons after GST_TEST_END so gst-indent gets the
formatting right; make test less verbose in general, but
more verbose in the error case (which should probably
make the test fail anyway).
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/rtp-payloading.c:
Add add testsuite for the rtp-payloader that tries simulating
dataflow. Needs more test data.
Original commit message from CVS:
* tests/check/Makefile.am:
Fix up some CFLAGS sets.
Don't include gconfvideosrc in the states test.
* tests/check/elements/autodetect.c: (GST_START_TEST):
Add some error strings to fail_unless arguments to fix some weird
compiler errors on Solaris.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/equalizer.c: (setup_equalizer),
(cleanup_equalizer), (GST_START_TEST), (equalizer_suite), (main):
Add some minimal tests for the equalizer plugin.
Original commit message from CVS:
* tests/check/elements/icydemux.c: (GST_START_TEST), (icydemux_suite):
Don't use deprecated GST_PLUGIN_DEFINE_STATIC.
Original commit message from CVS:
* tests/check/elements/avisubtitle.c: (check_correct_buffer):
Small unit test fix (has no practical impact at the moment,
since we're only feeding utf8 and hence just create a sub-
buffer for the output).
Original commit message from CVS:
* gst/avi/Makefile.am:
* gst/avi/gstavi.c:
* gst/avi/gstavisubtitle.c:
* gst/avi/gstavisubtitle.h:
* tests/check/Makefile.am:
* tests/check/elements/avisubtitle.c:
* win32/common/config.h:
Add avi subtitle element for bug #442034. Need seeking support
and more support for character conversion.
Original commit message from CVS:
* tests/check/elements/wavpackenc.c: (GST_START_TEST):
Don't check the caps of the output buffer if they're equal some
other caps. The caps can change in a backward compatible way
and did at this point.
Original commit message from CVS:
* gst/interleave/interleave.c: (gst_interleave_request_new_pad):
Let's not call every request pad we create "sink%d", that'll
create problems if there's to be more than one pad. Fixes#490682.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/interleave.c:
Add unit test for the above.
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.
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.
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.
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.