Before the behaviour was undefined and implemented differently by elements,
now core checks for this (and other problems) and returns NULL and an assertion.
Make appsrc not set caps on buffers when its own caps is NULL.
This avoids calling make_metadata_writable on all buffers and
prevents losing buffer caps in case we are not replacing it
with something meaningful.
https://bugzilla.gnome.org/show_bug.cgi?id=630353
Use new gst_element_link_pads_full() function to link elements,
and disable all checks when linking (don't try this at home).
Down to 18s from 3m20s. Scary.
Fix up videorate test for latest videotestsrc changes: just check for
the important bits in the negotiated caps, not for exact equality with
our filter caps. Also don't leak the videorate element in the test.
The only difference between the two unit tests right now is,
that the decodebin2 test resets the element to READY before trying
to reuse it instead of NULL. decodebin2 guarantees to be reusable
without going back to NULL.
This tests seeking on an adder that has a normal and a live source connected.
Wheter the current behavior is the desired one needs to be discussed still
(see #586033)
Be even less restrictive in what we accept for .srt timestamps when
typefinding and parsing subrip subtitles and add a unit test for
the 'new' format. Fixes#585197.
If one side has a preference for a particular sample rate or set of sample rates, we
should honour this in the caps we advertise and transform to and from, so that elements
actually know about the other side's sample rate preference and can negotiate to it
if supported. Also add unit test for this.
Add some padding to the callbacks structure just to be safe.
Remove the now invisible marshaller methods from the docs.
Fix a comment in the unit test.
Based on pacth by Martin Samuelsson <martin dot samuelsson at axis dot com>
Fixes#571299.
Add gst_app_sink_set_callbacks() to install a set of callbacks. This is a more
performant alternative to connecting to the signals.
Add a unit test for appsink.
Clean up some of the appsink docs.
API: GstAppSink::gst_app_sink_set_callbacks()
Original commit message from CVS:
* tests/check/elements/speexresample.c: (test_pipeline):
Make unit test again faster to prevent timeouts with valgrind.
Original commit message from CVS:
* tests/check/elements/speexresample.c: (GST_START_TEST):
Make the unit test a bit faster to prevent timeouts, especially
with valgrind.
Original commit message from CVS:
* tests/check/elements/speexresample.c: (element_message_cb),
(eos_message_cb), (test_pipeline), (GST_START_TEST),
(speexresample_suite):
Add pipeline unit tests for testing all supported formats with
up/downsampling and different in/outrates.
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_push_drain), (gst_speex_resample_process):
* gst/speexresample/speex_resampler_wrapper.h:
Fix bugs identified by the testsuite.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c: (gst_speex_resample_start),
(gst_speex_resample_get_unit_size),
(gst_speex_resample_push_drain), (gst_speex_resample_event),
(gst_speex_resample_check_discont), (gst_speex_resample_process),
(gst_speex_resample_transform):
* gst/speexresample/gstspeexresample.h:
Rewrite timestamp tracking to make it more robust and guarantee
a continous stream.
* tests/check/Makefile.am:
* tests/check/elements/speexresample.c: (setup_speexresample),
(cleanup_speexresample), (fail_unless_perfect_stream),
(test_perfect_stream_instance), (GST_START_TEST),
(test_discont_stream_instance), (live_switch_alloc_only_48000),
(live_switch_get_sink_caps), (live_switch_push),
(speexresample_suite):
Add unit tests for speexresample based on the audioresample unit tests.
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect), (handle_buffer),
(gst_sub_parse_change_state):
* gst/subparse/gstsubparse.h:
* tests/check/elements/subparse.c: (GST_START_TEST):
Add support for subtitle files with UTF-8 BOM at the beginning
by simple stripping it from the first line before passing it
to any parsing code. Fixes bug #555257 and playback of files
created by Gnome Subtitles.
Original commit message from CVS:
Based on a patch by: xavierb at gmail dot com
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect):
* tests/check/elements/subparse.c: (GST_START_TEST):
Make the detection of the used subtitle a bit less strict
for srt subtitles. Fixes bug #555607.
Original commit message from CVS:
* configure.ac:
* gst/subparse/Makefile.am:
* gst/subparse/gstsubparse.c:
* gst/subparse/samiparse.c:
* tests/check/elements/subparse.c:
Rework last change, so that we build subparse, but just disable the
sami parse functionality, if we're configured to not use xml. In the
tests only the sami test is disabled now.
Original commit message from CVS:
* tests/check/elements/audioresample.c: (setup_audioresample),
(fail_unless_perfect_stream), (test_perfect_stream_instance),
(test_discont_stream_instance):
Now that GstBaseTransform is 'fixed' ... remove cruft from tests.
Add debugging for coherence.
Original commit message from CVS:
* tests/check/elements/gdpdepay.c: (gdpdepay_suite):
* tests/check/pipelines/streamheader.c: (streamheader_suite):
Enable unit tests on PPC again as the bugs are now fixed.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(structure_has_fixed_channel_positions),
(gst_audio_convert_transform_caps):
Allow up to 11 positioned channels now that audioconvert can handle
this but add no default positions for > 8 channels.
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Add some unit tests for the above change: Test conversion of
11 positioned channels to stereo and the other way around, test
conversion of 15 unpositioned channels in different ways.
Original commit message from CVS:
* tests/check/elements/vorbisdec.c: (vorbisdec_suite):
Remove wrong_channels_identification_header unit test as we now
support 7 (and more channels).
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions),
(gst_audio_set_structure_channel_positions_list),
(gst_audio_fixate_channel_positions):
Allow rear center together with rear left/right and other previously
conflicting channel positions. The reason why they weren't allowed
was the channel mixing implementation in audioconvert.
Also take this into account when fixing channel layouts.
Allow setting channel positions for 1/2 channels when using
gst_audio_set_structure_channel_position().
* gst/audioconvert/gstchannelmix.c:
(gst_channel_mix_fill_compatible), (gst_channel_mix_detect_pos),
(gst_channel_mix_fill_one_other), (gst_channel_mix_fill_others),
(gst_channel_mix_fill_special), (gst_channel_mix_fill_matrix):
Major rewrite of the channel mixing.
We now allow previously conflicting channel positions to appear
together (rear center and rear left/right for example).
Fixes bug #533817.
Rework the way channels are mixed together to take more possible
channel positions into account, properly mix from/to side channels
and don't assume that either center, left&right or nothing of a
specific position is available anymore.
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Adjust unit tests with non-standard 1/2 channel layouts to the more
correct new behaviour.
Add a unit test for 5.1->Stereo downmixing.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (parser_state_init),
(gst_sub_parse_format_autodetect), (handle_buffer):
* gst/subparse/gstsubparse.h:
* tests/check/elements/subparse.c: (test_tmplayer_style3b):
Limit duration to a maximum of five seconds for tmplayer format where
we can guess the duration only from the timestamp of the next line of
text. We don't want to show a text for eternities just because nothing
else is being said for a while.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Add another test that checks if conversion between standard 1 and 2
channel layouts with and without positions set is working.
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
Allow non-standard 2 channel layouts.
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Add some tests for converting and remapping non-standard 1 and 2
channel layouts.