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-libs/gst/rtp/gstrtpbuffer.c:
* tests/check/libs/rtp.c:
Fix gst_rtp_buffer_set_csrc() and enable csrc-related unit test checks.
Original commit message from CVS:
Based on patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* gst-libs/gst/rtp/gstrtpbuffer.c:
Fix up GstRTPHeader helper struct so that compilers will not under
any circumstances add padding in between our fields, as currently
happens with MSVC on win32, because that would lead to us sending
out RTP payloads with broken RTP headers (#471194).
Fix assertion guards for gst_rtp_buffer_get_csrc() and _set_csrc().
* tests/check/Makefile.am:
* tests/check/libs/.cvsignore:
* tests/check/libs/rtp.c:
Add some simple unit tests for GstRTPBuffer. Some are disabled
because the code tested still needs fixing (set_csrc() does not work).
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:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/pbutils/install-plugins.c:
* gst-libs/gst/pbutils/install-plugins.h:
* tests/check/libs/pbutils.c:
API: also add gst_install_plugins_supported() while we're at it
(see #470456).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/pbutils/missing-plugins.c:
* gst-libs/gst/pbutils/missing-plugins.h:
* tests/check/libs/pbutils.c:
API: add gst_missing_*_installer_detail_new() convenience API so
that applications that know exactly what they're missing can request
installer detail strings for those items directly instead of having
to first create a dummy missing-plugin message and then get the
installer detail string from that. Fixes#470456.
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:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/audio.c: (gst_audio_buffer_clip):
* gst-libs/gst/audio/audio.h:
* tests/check/libs/audio.c: (GST_START_TEST), (audio_suite):
API: Add buffer clipping function for raw audio buffers. Fixes#456656.
Also add deprecation guards for gst_audio_structure_set_int() to the
header.
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:
* gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8):
Don't pass trailing zeroes in fixed-size string arrays in ID3v1 tags
to utf8-validate; fixes recognition of ID3v1 tags in UTF-8 encoding
(#451707); also, output some debugging info when dealing with
freeform strings.
* tests/check/libs/tag.c: (GST_START_TEST), (tag_suite):
Add unit test for the above.
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:
* tests/check/pipelines/oggmux.c: (validate_ogg_page), (is_video),
(eos_buffer_probe):
Add a test that ensures we set DELTA_UNIT on all non-header,
non-video buffers, if we have a video stream.
* ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads),
(gst_ogg_mux_process_best_pad):
Move setting delta_pad to earlier, where we inspect all pads, so
that leading audio pages don't get DELTA_UNIT unset if they come
before the first DELTA_UNIT from video pages. Fixes the newly-added
test. Fixes#385527.
Original commit message from CVS:
* tests/check/pipelines/streamheader.c: (streamheader_suite):
Disable test_multifdsink_gdp_vorbisenc() on ppc64 since it
fails on the p5-ppc64 build bot and the failure looks like it is due
to the same issue as #348114, ie. a compiler bug.
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/gdp/gstgdppay.c (gst_gdp_pay_chain):
* tests/check/pipelines/streamheader.c (tag_event_probe_cb,
GST_START_TEST, buffer_probe_cb, GST_START_TEST):
Fix a bug where serialized IN_CAPS buffers needed to be set IN_CAPS.
Original commit message from CVS:
* tests/check/pipelines/streamheader.c (tag_event_probe_cb,
GST_START_TEST, n_in_caps, buffer_probe_cb, GST_START_TEST,
streamheader_suite):
Add another test set up for failure
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/pipelines/streamheader.c (n_tags, tag_event_probe_cb,
GST_START_TEST, streamheader_suite, main):
Add a test for the streamheader bug Wim fixed.
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:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
* tests/check/libs/tag.c: (GST_START_TEST):
Make sure we parse floating-point numbers in vorbis comments
correctly with either '.' or ',' as separator, no matter what
the current locale is. Add unit test for this too.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler de>
* gst-libs/gst/tag/gstvorbistag.c: (gst_tag_to_vorbis_comments):
When writing out floating-point numbers to vorbis comment tags, always
use the same character as separator no matter what the current locale is
(fixes#423051).
* tests/check/libs/tag.c: (GST_START_TEST):
Add unit tests for replaygain tags in vorbis comments (closes#423055).
Original commit message from CVS:
* ext/vorbis/vorbisdec.c (vorbis_dec_push_forward,
vorbis_handle_data_packet):
Correctly set DURATION to generate a timestamp-continuous stream.
One bug left at the end; see
ihttp://bugzilla.gnome.org/show_bug.cgi?id=423086
* tests/check/Makefile.am:
* tests/check/pipelines/vorbisenc.c (GST_START_TEST):
Add a test to check this. Without the above patch this test fails.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Also accept partial dates with only year and month,
like 1999-12-00 (fixes#410396 even more).
* tests/check/libs/tag.c: (GST_START_TEST):
Add unit test for the above.
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:
* tests/check/generic/states.c: (GST_START_TEST):
Copy the states.c test from core again
* tests/check/Makefile.am:
ignore cdio and cdparanoiasrc
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:
Patch by: René Stadler <mail at renestadler de>
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Parse date strings in vorbis comments that have an invalid (zero)
month or day (#410396).
* tests/check/libs/tag.c: (GST_START_TEST):
Test case for the above.
Original commit message from CVS:
* gst-libs/gst/utils/install-plugins.c:
* gst-libs/gst/utils/missing-plugins.c:
* tests/check/libs/utils.c: (missing_msg_check_getters):
Change GStreamer marker prefix in detail string from 'gstreamer.net'
to just 'gstreamer'. Document the caps string component of the
decoder/encoder detail a bit better, since not everyone will be
familiar with the GStreamer media type/caps system (but they better
enjoy nested itemized lists).
Original commit message from CVS:
* gst-libs/gst/netbuffer/gstnetbuffer.c:
(notgst_buffer_copy_fields_in_place), (gst_netbuffer_copy):
Fix copying of GstNetBuffer (would crash before, or at least lead to
invalid memory access, #410772), for now by copying the GstBuffer copy
code from the core over here so we can copy the GstBuffer fields on a
provided buffer instance (of type GstNetBuffer in this case). Would be
better to fix this with some support by the core though (and in the long
run change the broken GstBuffer/GstMiniObject copy semantics, #393099).
* tests/check/Makefile.am:
Enable unit test for GstNetBuffer.
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.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (add_fakesink),
(gst_decode_bin_change_state):
* gst/playback/gstdecodebin2.c: (add_fakesink),
(gst_decode_bin_change_state):
Don't error out if there is no fakesink in the READY to NULL state
change, since when decodebin is re-used, we're only adding the
fakesink element in READY to PAUSED.
* tests/check/elements/decodebin.c:
(new_decoded_pad_plug_fakesink_cb), (GST_START_TEST),
(decodebin_suite):
Minimal unit test to make sure we can use the same decodebin
instance twice (at least with audiotestsrc input).
Original commit message from CVS:
* tests/check/pipelines/oggmux.c: (GST_START_TEST), (oggmux_suite):
Add small test to make sure request pads are cleaned up properly
even if oggmux never changes state out of NULL.
Original commit message from CVS:
* tests/check/libs/utils.c: (GST_START_TEST):
Fix unit test. Turns out things work much better when you
NULL-terminate string arrays. Should make p5 build bot happy again.
Original commit message from CVS:
* gst-libs/gst/utils/install-plugins.c:
(gst_install_plugins_spawn_child):
* tests/check/libs/utils.c:
(test_base_utils_install_plugins_do_callout):
Lowering log level to see why things fail on the p5 build bot;
fix some typos in unit test messages.
Original commit message from CVS:
* tests/check/libs/utils.c:
(test_base_utils_install_plugins_do_callout):
Don't hard-code temp directory for test helper; use GLib functions
to write out file and do error checking etc.
Original commit message from CVS:
* gst-libs/gst/utils/Makefile.am:
* gst-libs/gst/utils/base-utils.h:
* gst-libs/gst/utils/install-plugins.c:
(gst_install_plugins_context_set_xid),
(gst_install_plugins_context_new),
(gst_install_plugins_context_free),
(gst_install_plugins_get_helper),
(gst_install_plugins_spawn_child),
(gst_install_plugins_return_from_status),
(gst_install_plugins_installer_exited),
(gst_install_plugins_async), (gst_install_plugins_sync),
(gst_install_plugins_return_get_name),
(gst_install_plugins_installation_in_progress):
* gst-libs/gst/utils/install-plugins.h:
API: add API for applications to initiate installation of missing
plugins, ie. gst_install_plugins_async() primarily.
Based on libgimme-codec by Ryan Lortie.
* configure.ac:
Add --with-install-plugins-helper configure option so distros can specify
the path of the helper script or program to call when plugin installation
is requested (distros: please do any argument munging in this helper
script instead of patching GStreamer to pass arguments differently
to another program directly).
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
Build and document new API.
* tests/check/libs/utils.c: (result_cb),
(test_base_utils_install_plugins_do_callout), (GST_START_TEST),
(libgstbaseutils_suite):
Some simple checks for the new API.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (test_float_conversion):
Add small test for 32bit float <=> 64bit float conversion (works
only one way so far, 32=>64 produces structured noise).
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event),
(gst_text_overlay_text_event):
Don't unnecessarily ref (and then leak) upstream events if the text
pad is not linked. Fixes#399948.
* tests/check/gst-plugins-base.supp:
Add suppression for pango on edgy/x86 for textoverlay test.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize):
Don't leak mutex.
* 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_urisource_handler),
(test_missing_suburisource_handler),
(test_missing_primary_decoder), (playbin_suite):
Run all tests once with decodebin and once with decodebin2.
One test does not pass yet with decodebin2.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find):
Don't go into an endless loop if the file starts with 00 00 01 2X,
like quicktime redirect files might. Fixes#396042.
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/typefindfunctions.c: (GST_START_TEST),
(typefindfunctions_suite):
Add unit test for the above.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_subtitle),
(gen_source_element), (gst_play_base_bin_change_state):
Attempt at a better error message in case we don't have the required
URI handler installed; post missing-plugin message also when we're
missing an URI handler for the subtitle URI; clean up properly also
when an error occurs and we never made it to PAUSED state.
* tests/check/elements/playbin.c: (GST_START_TEST),
(playbin_suite):
Check that we're also getting a missing-plugin messsage for a
missing subtitle URI handler (and clean up properly).
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstplaybasebin.c: (string_arr_has_str),
(unknown_type), (setup_subtitle), (gen_source_element):
* gst/playback/gstplaybin.c: (plugin_init):
Post missing-plugin messages on the bus for missing sources and
missing decoders/demuxers/depayloaders; fix error code used when
we're missing an URI handler source; for media types that we are not
handling on purpose at the moment, don't print "don't know how to
handle xyz" messages to the terminal or post missing-plugin
messages on the bus.
* tests/check/elements/playbin.c: (create_playbin),
(GST_START_TEST), (gst_codec_src_uri_get_type),
(gst_codec_src_uri_get_protocols), (gst_codec_src_uri_get_uri),
(gst_codec_src_uri_set_uri), (gst_codec_src_uri_handler_init),
(gst_codec_src_init_type), (gst_codec_src_base_init),
(gst_codec_src_create), (gst_codec_src_class_init),
(gst_codec_src_init), (plugin_init), (playbin_suite):
Add some tests for the missing-plugin stuff.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (parse_mdvdsub):
* gst/subparse/gstsubparse.h:
Remove spurious 1000 subtrahend when calculating the timestamp from
the frame number and the frame rate . Also, use the frames/second
value specified in the first line of the file, if one is specified
there. Should fix#357503.
* tests/check/elements/subparse.c: (do_test),
(test_tmplayer_do_test), (test_microdvd_do_test), (GST_START_TEST),
(subparse_suite):
Add some basic unit tests for the microdvd subtitle format.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/libs/.cvsignore:
* tests/check/libs/netbuffer.c: (GST_START_TEST),
(netbuffer_suite):
Add test for GstNetBuffer + gst_buffer_copy(). Disabled
for the time being, since it's broken, see #393099.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c:
* tests/check/libs/tag.c: (GST_START_TEST):
Add vorbistag <=> GStreamer tag mapping for GST_TAG_LOCATION
(fixes#392070).
Original commit message from CVS:
* tests/check/elements/gdpdepay.c: (cleanup_gdpdepay),
(setup_gdpdepay_streamheader):
* tests/check/elements/gdppay.c: (cleanup_gdppay),
(setup_gdppay_streamheader):
Fix the dp tests, but activating the pads for the streamheader tests
too and cleaning up conditionaly
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (type_found):
Special-case the text/plain media type: we only want to recognise it
as a 'raw' decoded media type if it comes from a demuxer or subtitle
parser, but not if the entire stream is of text/plain type. If the
entire stream is text/plain, we should just error out.
This fixes playback of audio files with lyrics in totem. Totem can't
distinguish between text files and subtitle files and passes any
.txt file with the same basename as the main file to playbin as
suburi, and playbin will then throw a 'subtitle found, but no video
stream' error, which isn't entirely helpful. See #380342.
Also, with this change we'll show a slightly more correct error
message in case totem passes a playlist file to us (although a
custom error message wording instead of the default text would
probably not be a bad idea either).
Same problem also needs to be fixed for playbin+decodebin2.
* tests/check/Makefile.am:
* tests/check/elements/decodebin.c: (src_handoff_cb),
(decodebin_new_decoded_pad_cb), (GST_START_TEST),
(decodebin_suite):
Add simple unit test for decodebin for the above.
Original commit message from CVS:
* tests/check/pipelines/theoraenc.c: (check_buffer_granulepos),
(GST_START_TEST):
It would be very bad if, after a discont buffer, we thought every
single following buffer was also discont. So, add to the test to
ensure that this isn't the case.
* ext/theora/theoraenc.c: (theora_enc_is_discontinuous):
... it was the case. So fix it.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_text_pad_unlink), (gst_text_overlay_text_event),
(gst_text_overlay_video_event), (gst_text_overlay_pop_text),
(gst_text_overlay_text_chain), (gst_text_overlay_video_chain),
(gst_text_overlay_change_state):
* ext/pango/gsttextoverlay.h:
Some textoverlay fixes: for one, in the video chain function,
actually wait for a text buffer to come in if there is none at the
moment and there should be one; also, deal more gracefully with
incoming buffers that do not have a timestamp or duration; discard
text buffer when not needed any longer. Fixes#341681.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/textoverlay.c:
(notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2),
(setup_textoverlay), (buffer_is_all_black), (create_black_buffer),
(create_text_buffer), (cleanup_textoverlay), (GST_START_TEST),
(test_video_waits_for_text_send_text_newsegment_thread),
(test_video_waits_for_text_shutdown_element),
(test_render_continuity_push_video_buffers_thread),
(textoverlay_suite):
Add some unit tests for textoverlay.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/ffmpegcolorspace.c:
(ffmpegcolorspace_suite):
Enable ffmpegcolorspace test now that the RGBA32 issue is fixed
(for now not for valgrinding though, since it takes too long).
Original commit message from CVS:
* gst/videotestsrc/Makefile.am:
* tests/check/Makefile.am:
Make sure our checks and the videotestsrc plugin link against the
local uninstalled gst libs and not any installed gst libs that
might happen to exist as well.
* tests/check/elements/adder.c: (message_received),
(test_event_message_received), (test_play_twice_message_received):
* tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
Fix compiler warnings when compiling against core with disabled
debugging system.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_sink_event), (gst_audio_rate_chain):
Fix audiorate, so that it accurately sets offsets and timestamps.
Doesn't change the fundamental algorithmic decisions; so should be
safe.
* tests/check/Makefile.am:
Enable audiorate test now that it passes.
Original commit message from CVS:
* tests/check/elements/audiorate.c: (test_injector_base_init),
(test_injector_class_init), (test_injector_chain),
(test_injector_init), (probe_cb), (do_perfect_stream_test),
(GST_START_TEST), (audiorate_suite):
More tests for audiorate: inject buffers to check behaviour when
buffers overlap.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/audiorate.c: (probe_cb), (got_buf),
(do_perfect_stream_test), (GST_START_TEST), (audiorate_suite):
Add some basic unit tests for audiorate. Disabled at the moment
since it doesn't pass yet (see bug #363119).
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (subrip_fix_up_markup),
(parse_subrip), (handle_buffer):
Add missing closing tags for markup and fix broken markup,
otherwise pango won't render anything (fixes#357531). Also,
make sure the text we send out is always NUL-terminated
(better safe than sorry etc.).
* tests/check/elements/subparse.c: (test_srt_do_test),
(test_srt):
Some more tests for .srt incl. tests for the above stuff.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/subparse.c: (buffer_from_static_string),
(setup_subparse), (teardown_subparse), (test_srt_do_test),
(GST_START_TEST), (subparse_suite):
Add very simple unit test for subparse.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (subbin_startup_sync_msg),
(setup_source):
Catch async errors when starting up the subtitle bin, so we can
stop waiting and continue with the main film instead of hanging
forever. Fixes#339366.
* tests/check/elements/playbin.c: (playbin_suite):
Enable unit test for the above.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/playbin.c: (GST_START_TEST),
(gst_red_video_src_uri_get_type),
(gst_red_video_src_uri_get_protocols),
(gst_red_video_src_uri_get_uri), (gst_red_video_src_uri_set_uri),
(gst_red_video_src_uri_handler_init),
(gst_red_video_src_init_type), (gst_red_video_src_base_init),
(gst_red_video_src_create), (gst_red_video_src_class_init),
(gst_red_video_src_init), (plugin_init), (playbin_suite):
Some small and basic unit tests for playbin; not very useful yet,
but at least a start.
Original commit message from CVS:
Patch by: James "Doc" Livingston <doclivingston at gmail com>
* ext/vorbis/Makefile.am:
* ext/vorbis/vorbis.c: (plugin_init):
* ext/vorbis/vorbisparse.c: (gst_vorbis_parse_class_init),
(vorbis_parse_parse_packet), (vorbis_parse_chain):
* ext/vorbis/vorbisparse.h:
* ext/vorbis/vorbistag.c: (gst_vorbis_tag_base_init),
(gst_vorbis_tag_class_init), (gst_vorbis_tag_init),
(gst_vorbis_tag_parse_packet):
* ext/vorbis/vorbistag.h:
Add new vorbistag element which derives from vorbisparse
and is essentially the same as well, only that it implements
the GstTagSetter interface and can modify the stream's
vorbiscomment on the fly (#335635).
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/vorbistag.c: (setup_vorbistag),
(cleanup_vorbistag), (buffer_probe), (start_pipeline),
(get_buffer), (stop_pipeline), (_create_codebook_header_buffer),
(_create_audio_buffer), (GST_START_TEST), (vorbistag_suite):
Add unit test for new vorbistag element.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_request_new_pad),
(gst_ogg_mux_release_pad), (gst_ogg_mux_push_buffer),
(gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads),
(gst_ogg_mux_send_headers), (gst_ogg_mux_process_best_pad),
(gst_ogg_mux_collected):
Commit patch from James "Doc" Livingston, adds proper EOS handling
in oggmux. GStreamer can, for the first time ever, create a valid
Ogg file! Yay!
* tests/check/pipelines/oggmux.c: (check_chain_final_state),
(oggmux_suite):
Reenable tests now that they pass.
Original commit message from CVS:
* tests/check/elements/adder.c: (adder_suite):
Don't set timeout to 6 seconds when we're running
in valgrind ... (and how is 6 seconds longer than
the default anyway?)
Original commit message from CVS:
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
Add timeout to _get_state() so we see which pipeline it is
that causes trouble on the gen64 build bot.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Parse dates that are followed by a time as well (#357532).
* tests/check/libs/tag.c: (test_vorbis_tags):
Add unit test for this.
Original commit message from CVS:
* tests/check/Makefile.am:
See if this makes the build bots happy.
* tests/check/libs/cddabasesrc.c:
UTF8-ise my name.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c:
Fix misleading docs addition.
* tests/check/elements/videotestsrc.c: (check_rgb_buf):
Get rid of compiler warning the right way.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/ffmpegcolorspace.c: (rgb_format_to_caps),
(create_rgb_conversions), (rgb_conversion_free),
(right_shift_colour), (fix_expected_colour), (check_rgb_buf),
(got_buf_cb), (GST_START_TEST), (ffmpegcolorspace_suite):
Add unit test for ffmpegcolorspace (RGB <=> RGB only so far),
but disable for now since it doesn't pass (something wrong with
RGBA somewhere).
Original commit message from CVS:
patch by: Michael Smith <msmith at fluendo dot com>
* gst/tcp/gstmultifdsink.c: (is_sync_frame),
(gst_multi_fd_sink_client_queue_buffer),
(gst_multi_fd_sink_new_client):
* tests/check/elements/multifdsink.c: (GST_START_TEST),
(multifdsink_suite):
Fix implementation of sync-method 'next-keyframe'
Original commit message from CVS:
Patch by: James Livingston <doclivingston at gmail.com>
* tests/check/Makefile.am:
* tests/check/pipelines/.cvsignore:
* tests/check/pipelines/oggmux.c: (get_page_codec),
(check_chain_final_state), (fail_if_audio), (validate_ogg_page),
(eos_buffer_probe), (start_pipeline), (stop_pipeline), (eos_watch),
(test_pipeline), (test_vorbis), (test_theora), (test_vorbis_theora),
(test_theora_vorbis), (oggmux_suite):
Add simple unit test for oggmux from #337026 with checking for the
EOS flags disabled for the time being.
Original commit message from CVS:
* tests/check/elements/videotestsrc.c: (check_rgb_buf):
Returning a return value often helps. In this case, we
don't need the return value anyway, so just get rid of it.
Should make build bots much happier.
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c: (paintinfo_find_by_structure),
(paint_get_structure), (gst_video_test_src_get_size),
(gst_video_test_src_smpte), (gst_video_test_src_snow),
(gst_video_test_src_unicolor), (paint_setup_AYUV),
(paint_hline_AYUV), (paint_setup_ARGB8888), (paint_setup_ABGR8888),
(paint_setup_RGBA8888), (paint_setup_BGRA8888), (paint_hline_str4):
* gst/videotestsrc/videotestsrc.h:
Add support for AYUV and the various RGBA formats. Initialise
fields of paintinfo structs allocated on the stack.
* tests/check/elements/videotestsrc.c: (right_shift_colour),
(fix_expected_colour), (check_rgb_buf), (got_buf_cb),
(GST_START_TEST), (videotestsrc_suite):
Add unit tests for videotestsrc's RGB output.
Original commit message from CVS:
* tests/check/libs/cddabasesrc.c: (GST_START_TEST):
Waits for tasks to settle down so that we clean up correctly for
valgrind.
Original commit message from CVS:
* tests/check/libs/tag.c: (GST_START_TEST), (taglists_are_equal):
Unit test fixes: \377 is more likely to fit into 8 bits than \777;
actually return return value in taglists_are_equal.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_to_vorbiscomment_buffer):
* tests/check/libs/tag.c: (GST_START_TEST):
And the same for _to_vorbiscomment_buffer(): allow
id_data_len == 0 for speex.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_from_vorbiscomment_buffer):
Allow id_data_len == 0 (needed for vorbis comments in Speex files).
Also add some checks to make sure we don't memcmp() beyond the end of
vorbiscomment buffer if the ID to check for is larger than the buffer.
* tests/check/libs/tag.c: (GST_START_TEST):
Some more tests for gst_tag_list_from_vorbiscomment_buffer().
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Fix leaks. Wait for state transitions that might happen ASYNC, as well
as some that won't.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add),
(gst_tag_to_vorbis_comments):
Serialise unknown vorbis comments into GST_TAG_EXTENDED_COMMENT
tags and deserialise them properly as well (#351768).
Add some more gtk-doc blurbs and also some g_return_if_fail().
* tests/check/libs/tag.c: (GST_START_TEST),
(back_to_vorbis_comments), (taglists_are_equal), (tag_suite):
More tests.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
Make buffer durations add up (duration should be next_ts-ts for
perfect streams). Fixes CD ripping to Ogg/Vorbis with vorbisenc
from CVS.
* tests/check/libs/cddabasesrc.c: (gst_cd_foo_src_close),
(test_buffer_timestamps), (cddabasesrc_suite):
Add unit test for the above.
* tests/check/Makefile.am:
Don't know why cddabasesrc test was in VALGRIND_TO_FIX, remove
to see what happens.
Original commit message from CVS:
* tests/check/elements/gdpdepay.c: (gdpdepay_suite):
I forgot to include the file containing the #define :)
Now includes "config.h"
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/libs/.cvsignore:
* tests/check/libs/audio.c: (structure_contains_channel_positions),
(fixed_caps_have_channel_positions), (GST_START_TEST),
(audio_suite), (main):
Add a few tests for the channel position stuff in libgstaudio.
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c: (audioresample_stop),
(audioresample_set_caps):
Don't leak references to the incoming caps. Clean them up when
stopping.
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init),
(gst_video_scale_finalize):
Don't leak our temporary pixel buffer.
* tests/check/Makefile.am:
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
(GST_START_TEST), (simple_launch_lines_suite):
Fix leaks and re-enable the test for valgrind checking.
Original commit message from CVS:
* tests/check/pipelines/vorbisenc.c: (GST_START_TEST),
(vorbisenc_suite):
Enable Andy's extra vorbisenc test, now that it passes. Also fix one
aspect of it.
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init):
proxying get/set caps is the wrong thing to do, since we really
do change caps quite fundamentally
* tests/check/elements/gdpdepay.c:
* tests/check/elements/gdppay.c:
remove declaration of buffers, it's already done in gstcheck.h
Original commit message from CVS:
2006-07-21 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/theoraenc.c (test_discontinuity): Similar
test to the one in vorbisenc. Also commented out.
Original commit message from CVS:
2006-07-21 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/vorbisenc.c:
(test_discontinuity): New test, commented out until Mike lands
some elite vorbisenc patches.
Original commit message from CVS:
2006-07-21 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/vorbisenc.c:
* tests/check/pipelines/theoraenc.c: Port to bufferstraw.
Bufferstraw was actually factored out of these tests. Now we share
code yay.
Original commit message from CVS:
* tests/check/pipelines/vorbisenc.c: (stop_pipeline):
Move a g_cond_signal to earlier to avoid sometimes deadlocking
(commonly happens when running this test under valgrind) when trying
to remove the buffer probe.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (get_float_mc_caps),
(get_int_mc_caps), (GST_START_TEST), (audioconvert_suite):
Patch from #347221 adding a test for audioconvert
channel remappings.
Original commit message from CVS:
* tests/check/elements/audioresample.c: (test_reuse),
(audioresample_suite):
Add test case for bug #342789 fixed below.
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init), (gst_audioresample_init),
(audioresample_start), (audioresample_stop),
(gst_audioresample_set_property), (gst_audioresample_get_property):
Implement GstBaseTransform::start and ::stop so that audioresample
can clear its internal state properly and be reused insted of
causing non-negotiated errors with playbin under some circumstances
(#342789).
* tests/check/elements/audioresample.c: (setup_audioresample),
(cleanup_audioresample):
Need to set element state here so that ::start and ::stop are
called.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (set_channel_positions),
(get_float_mc_caps), (get_int_mc_caps):
* tests/check/elements/audioresample.c:
* tests/check/elements/audiotestsrc.c: (GST_START_TEST):
* tests/check/elements/videorate.c:
* tests/check/elements/videotestsrc.c: (GST_START_TEST):
* tests/check/elements/volume.c:
* tests/check/elements/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
Don't busy-wait in tests; this was causing test timeouts very
frequently when running under valgrind.