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.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* tests/check/elements/audioresample.c:
(live_switch_alloc_only_48000), (live_switch_get_sink_caps),
(live_switch_push), (GST_START_TEST):
Add unit test for the latest basetransform negotiation changes.
See bug #526768.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/audioresample/gstaudioresample.c: (gst_audioresample_init):
Let audioresample use the buffer allocation of basetransform instead
of it's own stuff.
* tests/check/elements/audioresample.c: (alloc_only_48000),
(GST_START_TEST), (audioresample_suite):
Add unit test for the recent basetransform bugfix, where upstream
changes caps to something that can't be passed through anymore.
Original commit message from CVS:
Based on a patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
* gst/audioconvert/audioconvert.c: (audio_convert_prepare_context):
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps),
(structure_has_fixed_channel_positions),
(gst_audio_convert_transform_caps):
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_matrix):
Add support for more than 8 channels and NONE channel layouts. For
more than 8 channels no channel conversion is supported yet, only
format conversions are supported. Fixes bug #398033.
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST), (audioconvert_suite):
Add some unit tests by Tim for checking the NONE channel layouts
and more than 8 channels and add some more unit tests for channel
conversions.
Original commit message from CVS:
* gst/subparse/samiparse.c: (handle_start_sync),
(end_sami_element), (characters_sami):
Remove trailing, leading and double whitespaces.
Correctly timestamp buffers and output the last buffer too.
* tests/check/elements/subparse.c: (GST_START_TEST),
(subparse_suite):
Add a simple unit test for SAMI parsing.
Original commit message from CVS:
* tests/check/elements/subparse.c: (do_test),
(test_tmplayer_style3b), (subparse_suite):
Add unit test for the tmplayer variant from bug #530962.
Original commit message from CVS:
Based on patch by: Tomasz Sałaciński <tsalacinski gmail com>
* gst/subparse/gstsubparse.c: (parse_mdvdsub):
* tests/check/elements/subparse.c: (test_microdvd_with_italics),
(subparse_suite):
Forward slashes at the beginning and end of a line also signify
italics (Fixes: #518162).
Original commit message from CVS:
* tests/check/Makefile.am:
Fix CFLAGS to also pull in the gstcheck cflags from AM_CFLAGS.
* tests/check/elements/audiorate.c: (do_perfect_stream_test):
* tests/check/elements/playbin.c:
* tests/check/libs/mixer.c: (test_element_interface_supported),
(gst_implements_interface_init):
* tests/check/libs/rtp.c: (GST_START_TEST):
Fix various assignment type mismatches.
Original commit message from CVS:
* tests/check/elements/playbin.c: (test_sink_usage_video_only_stream),
(test_suburi_error_unknowntype), (test_suburi_error_invalidfile),
(test_suburi_error_wrongproto), (test_missing_primary_decoder):
* tests/check/libs/cddabasesrc.c: (GST_START_TEST), (GST_START_TEST),
(cddabasesrc_suite):
Don't use GST_PLUGIN_DEFINE_STATIC, it's not portable and will be
deprecated in the future (see #498924).
Original commit message from CVS:
Patch by: Robin Stocker <robin dot stocker at gmx dot ch>
* gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect):
Some .srt files start with chunk number 0 and not chunk number 1,
recognise and accept those as well (fixes#502497).
* tests/check/elements/subparse.c: (srt_input), (srt_input0),
(test_src):
Add unit test for the above.
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir@gmail.com>
* tests/check/elements/audioconvert.c: (verify_convert):
Add check to make sure that the out caps have a channel layout
set on them where they should have one.
Original commit message from CVS:
* tests/check/elements/decodebin.c: (test_text_plain_streams):
Make sure the pipeline really operates in push mode as it should
in this case.
Original commit message from CVS:
* tests/check/elements/libvisual.c:
Test all libvisual plugins, not just the first one; this reproduces
bug #450336 quite easily. Looks like a problem with the 'jess'
visualisation.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/libvisual.c:
Add basic libvisual test case in an attempt to reproduce bug #450336.
Doesn't reproduce that bug, but some other crasher instead (invalid
free), at least with make elements/libvisual.forever and the bumscope
plugin on x86-64/gutsy. Leaving test disabled for now.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_choose_func):
* tests/check/elements/volume.c: (GST_START_TEST):
Revert the latest change: floating point samples are allowed to
have any value, not only values in the range [-1,1]. Thanks to Andy
Wingo for noticing.
Also fix processing of int32 samples with volumes > 4 by making the
unity value smaller which prevents overflows.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_choose_func),
(volume_process_double), (volume_process_double_clamp),
(volume_process_float_clamp):
Correctly clamp float/double samples in the [-1.0,1.0] range to
prevent weird effects.
* tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
Add unit tests for all samples types that had none before.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Debug output fixes.
* tests/check/elements/audiorate.c: (do_perfect_stream_test),
(GST_START_TEST):
Change the number of buffers used; 500 is too many and leads to
timeouts.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
If we have a large (> 1 second) discontinuity, push a series of
smaller buffers rather than a single very large buffer. Avoids
unreasonably large single buffer allocations when encountering a
large gap.
* tests/check/elements/audiorate.c: (GST_START_TEST),
(audiorate_suite):
Add a test for this.
Original commit message from CVS:
* gst/audioconvert/Makefile.am:
* gst/audioconvert/audioconvert.c: (audio_convert_get_func_index),
(check_default), (audio_convert_prepare_context),
(audio_convert_clean_context), (audio_convert_convert):
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_dithering_get_type),
(gst_audio_convert_ns_get_type), (gst_audio_convert_class_init),
(gst_audio_convert_init), (gst_audio_convert_set_caps),
(gst_audio_convert_set_property), (gst_audio_convert_get_property):
* gst/audioconvert/gstaudioconvert.h:
* gst/audioconvert/gstaudioquantize.c:
(gst_audio_quantize_setup_noise_shaping),
(gst_audio_quantize_free_noise_shaping),
(gst_audio_quantize_setup_dither),
(gst_audio_quantize_free_dither),
(gst_audio_quantize_setup_quantize_func),
(gst_audio_quantize_setup), (gst_audio_quantize_free):
* gst/audioconvert/gstaudioquantize.h:
Implement dithering and noise shaping in audioconvert. By default now
TPDF dithering (and no noise shaping) will be used when converting
from a higher bit depth to 20 bit depth or smaller, otherwise
everything will be as it is now.
For the last audioconvert in a pipeline it would make sense to
use some kind of noise shaping, enabling it by default for all
conversions would give undesired results though. Fixes#360246.
* tests/check/elements/audioconvert.c: (setup_audioconvert),
(GST_START_TEST):
Adjust unit test for the new audioconvert.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_decode_buffer):
Skip empty buffers, but not empty header buffers. That way the original
vorbisdec unit test still passes (#451145); also, take into account
that those empty packets might carry a granulepos.
* tests/check/Makefile.am:
* tests/check/elements/vorbisdec.c:
(_create_codebook_header_buffer), (_create_audio_buffer),
(GST_START_TEST), (vorbisdec_suite):
Add unit test that sends an empty packet.
Original commit message from CVS:
Based on a patch by Sven Arvidsson <sa at whiz dot se>:
* gst/subparse/gstsubparse.c: (parse_subrip),
(subviewer_unescape_newlines), (parse_subviewer),
(gst_sub_parse_data_format_autodetect),
(gst_sub_parse_format_autodetect), (gst_subparse_type_find):
* gst/subparse/gstsubparse.h:
Add support for SubViewer version 1 and 2 subtitles. Fixes#394061.
* tests/check/elements/subparse.c: (GST_START_TEST),
(subparse_suite):
Add a unit test for both SubViewer formats.
Original commit message from CVS:
* tests/check/elements/playbin.c: (test_suburi_error_unknowntype):
Use /dev/zero instead of /dev/urandom to produce an invalid subtitle
file. Avoids flukes where the input gets typefound to some valid but
useless type.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/gnomevfssink.c: (setup_gnomevfssink),
(cleanup_gnomevfssink), (GST_START_TEST), (gnomevfssink_suite):
Add unit test for gnomevfssink seeking and position reporting for
file:// URIs.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
Minimal check for volume's GstController usability; also another
test for #422295.
Original commit message from CVS:
* tests/check/elements/videorate.c: (GST_START_TEST):
Set buffer timestamp to a valid value in order to test the buffer
really does stay in videorate.
Original commit message from CVS:
Patch by: Dan Williams <dcbw redhat com>
* gst/videorate/gstvideorate.c: (gst_video_rate_chain):
Don't leak incoming buffer if gst_pad_push() returns a
non-OK flow. Fixes#432755.
* tests/check/elements/videorate.c: (GST_START_TEST),
(videorate_suite):
Unit test for the above by Yours Truly.
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
* gst/subparse/samiparse.c:
Use GST_DISABLE_XML here
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xwindow_new), (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_buffer_alloc),
(gst_xvimagesink_navigation_send_event):
* sys/xvimage/xvimagesink.h:
Include stdlib.h when using atoi.
* tests/check/elements/playbin.c: (playbin_suite):
Use GST_DISABLE_REGISTRY here
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_video_rate_setcaps),
(gst_video_rate_chain):
Add some debug.
* tests/check/elements/videorate.c: (GST_START_TEST),
(videorate_suite):
Added check for videorate changing caps handling. Closes#421834.
Original commit message from CVS:
* tests/check/elements/playbin.c:
(test_sink_usage_video_only_stream), (playbin_suite):
Add small test for stream-info-value-array code paths.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
with some minor changes
* gst-libs/gst/floatcast/floatcast.h:
Use more efficient float endianness conversion functions that don't
involve 2 function calls per value.
* gst/audioconvert/audioconvert.c: (audio_convert_get_func_index),
(check_default), (audio_convert_prepare_context):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps), (make_lossless_changes):
Support non-native endianness floats as input and output.
Fixes#339838.
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST):
Add unit tests for the non-native endianness float conversions.
Original commit message from CVS:
2007-03-29 Andy Wingo <wingo@pobox.com>
* gst/videorate/gstvideorate.c (gst_video_rate_flush_prev): Make
perfect offsets also, not just timestamps.
* tests/check/elements/videorate.c (test_more): Test that given
any incoming offsets, that videorate produces perfect offsets.
Original commit message from CVS:
* gst/audioconvert/audioconvert.c:
Add docs to the integer pack functions and implement proper
rounding. Before we had rounding towards negative infinity, i.e.
always the smaller number was taken. Now we use natural rounding,
i.e. rounding to the nearest integer and to the one with the largest
absolute value for X.5. The old rounding introduced some minor
distortions. Fixes#420079
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Fix one unit test that assumed the old rounding and added unit tests
for checking signed/unsigned int16 <-> signed/unsigned int16 with
depth 8, one for signed int16 <-> unsigned int16 and one for the new
rounding from signed int32 to signed/unsigned int16.
Original commit message from CVS:
* tests/check/elements/subparse.c: (GST_START_TEST),
(subparse_suite):
Add unit test for MPL2 subtitle format (#413799).
Original commit message from CVS:
* tests/check/elements/alsa.c: (GST_START_TEST):
Unref the mixer if the state change fails too (if the
alsa devices are inaccessible, for example)
Original commit message from CVS:
* tests/check/Makefile.am:
Don't test libvisual elements in the states check, because libvisual
seems to leak internally.
Re-enable the alsa and states tests now that there's new suppressions
in gst.supp.
* tests/check/elements/alsa.c: (GST_START_TEST):
Don't leak the alsamixer we instantiated.
Original commit message from CVS:
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init), (gst_mixer_track_get_property),
(gst_mixer_track_set_property):
API: add "untranslated-label" property which should be set by
implementations at construct time (#414645).
* ext/alsa/gstalsamixeroptions.c: (gst_alsa_mixer_options_new):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
Set "untranslated-label" when constructing mixer track objects.
* tests/check/elements/alsa.c: (GST_START_TEST), (alsa_suite):
Unit test to check the above.
Original commit message from CVS:
* gst/audioconvert/audioconvert.c: (float), (double), (float_hq),
(double_hq), (audio_convert_get_func_index),
(audio_convert_prepare_context), (audio_convert_convert):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init), (gst_audio_convert_get_unit_size),
(gst_audio_convert_transform_caps):
* tests/check/elements/audioconvert.c: (GST_START_TEST),
(audioconvert_suite):
Don't run inplace if that overwrites source data as we go. Add more
tests. Fixes#339837 even more.
Original commit message from CVS:
* gst/audioconvert/audioconvert.c: (float), (double), (float_hq),
(double_hq), (audio_convert_get_func_index),
(audio_convert_prepare_context), (audio_convert_convert):
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_setup_matrix),
(gst_channel_mix_mix_int), (gst_channel_mix_mix_float):
* gst/audioconvert/gstchannelmix.h:
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Add float as an intermediate format, as well as float mixing. Enable
test that was failing before. Fixes#339837
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (subrip_remove_unhandled_tag),
(subrip_remove_unhandled_tags), (parse_subrip):
For SubRip (.srt) subtitles, ignore all markup tags we don't
handle (like font tags, for example).
* tests/check/elements/subparse.c:
Add test for this.