Don't use REPLACE_ALL merge mode when that's not really what we want,
as now that REPLACE_ALL actually does what it's supposed to do in
core, we drop tags we wanted to keep, such as the various disc id
tags. Add unit test for this as well. Fixes#579463.
Add support for a set of standard commands that can be queried and executed to
support applications like DVD. Add query construction and parsing functions.
Add new messages that can be sent on the bus to provide notifications related
to commands, multiangle changes, and button highlight activity.
Add some helper functions to parse the existing GstNavigation events that
elements might receive.
Document it all and add unit tests.
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()
It doesn't make sense to ask installers for the same codec or element twice, so filter out duplicate requests before calling the external helper script and make the unit test check this works right. Fixes#567636.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_event):
Remove erroneous gst_buffer_ref().
* tests/check/libs/rtp.c: (GST_START_TEST):
Don't forget to unref the buffer once you're done with it.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester ca>
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_remove):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Implement gst_rtcp_packet_remove(). Fixes#563174.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add unit test for some RTCP functions.
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:
* sys/ximage/ximagesink.c (gst_ximagesink_ximage_put),
(gst_ximagesink_setcaps):
* sys/ximage/ximagesink.h:
When the caps change, make sure to re-draw borders in
force-aspect-ratio=true mode.
* sys/xvimage/xvimagesink.c (gst_xvimagesink_xvimage_put):
Don't clear the border_draw flag until we actually draw the border.
* tests/check/Makefile.am:
Ignore alsasink/src during the states test too, so it doesn't fail
when running without access to the sound device.
Original commit message from CVS:
* tests/check/pipelines/streamheader.c: (buffer_probe_cb),
(test_multifdsink_gdp_vorbisenc), (streamheader_suite):
Do not try to run a test which requires vorbisenc unless we have
actually built it.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
* gst-libs/gst/audio/multichannel.h:
API: Make gst_audio_check_channel_positions() public.
* tests/check/libs/audio.c: (GST_START_TEST):
Add some simple checks for gst_audio_check_channel_positions().
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.