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.
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:
* 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-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain):
Validate the RTP packet before further processing it. It's just too
dangerous to accept random packets and people are not forced to use a
jitterbuffer or session manager to filter out the bad packets.
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_set_extension_data),
(gst_rtp_buffer_get_payload_subbuffer):
Small cleanups.
When setting extension data in a buffer that is too small, we fail and
we should not set the extension bit.
Change GST_WARNINGS into g_warning because they really are
programming errors.
* tests/check/libs/rtp.c: (GST_START_TEST):
Catch the g_warnings now in the unit tests and that fact that failing to
set extension data left the extension bit untouched.
Original commit message from CVS:
Patch by: Bernard B <b-gnome at largestprime dot net>
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum):
Fix seqnum compare function for bordercase values and fix the docs
again. Fixes#533075.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add a testcase for seqnum compare function.
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_new_caps),
(gst_video_format_to_fourcc), (gst_video_format_get_row_stride),
(gst_video_format_get_pixel_stride),
(gst_video_format_get_component_width),
(gst_video_format_get_component_height),
(gst_video_format_get_component_offset), (gst_video_format_get_size),
(gst_video_format_convert):
Add guards to these functions to ensure sane input values.
* tests/check/libs/video.c:
Fix unit test not to create caps with width=0 and height=0.
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_parse_caps),
(gst_video_format_from_rgba32_masks):
Fix gst_video_format_parse_caps() for RGB caps with alpha channel
(#522635).
* tests/check/libs/video.c: (test_parse_caps_rgb), (video_suite):
Add unit test for the RGB caps parsing and creation, checking for
internal consistency of the new API and consistency of the API with
the old GST_VIDEO_CAPS_* defines.
Original commit message from CVS:
* tests/check/libs/video.c: (paintinfo), (paintinfo_struct),
(fourcc_list_struct), (fourcc_list), (fourcc_get_size),
(paint_setup_I420), (paint_setup_YV12), (paint_setup_AYUV),
(paint_setup_YUY2), (paint_setup_UYVY), (paint_setup_YVYU),
(paint_setup_IYU2), (paint_setup_Y41B), (paint_setup_Y42B),
(paint_setup_Y800), (paint_setup_YVU9), (paint_setup_YUV9),
(gst_video_format_is_packed), (video_format_is_packed):
Add unit test that makes sure that the strides, offsets and
sizes returned for the various YUV formats by the new video API
match the old reference implementation in videotestsrc.
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_set_extension_data):
* gst-libs/gst/rtp/gstrtpbuffer.h:
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add gst_rtp_buffer_set_extension_data()
Add a unit test for this addition. Fixes#511478.
API: GstRTPBuffer:gst_rtp_buffer_set_extension_data()
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:
* gst-libs/gst/pbutils/descriptions.c: (formats),
(format_info_get_desc):
* tests/check/libs/pbutils.c: (GST_START_TEST), (caps_strings),
(GST_START_TEST):
Add one or two missing formats. Generate ADPCM description
dynamically depending on layout/format.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/fft/gstfftf32.c:
* gst-libs/gst/fft/gstfftf32.h:
* gst-libs/gst/fft/gstfftf64.c:
* gst-libs/gst/fft/gstfftf64.h:
* gst-libs/gst/fft/gstffts16.c:
* gst-libs/gst/fft/gstffts16.h:
* gst-libs/gst/fft/gstffts32.c:
* gst-libs/gst/fft/gstffts32.h:
* tests/check/libs/fft.c: (GST_START_TEST):
Remove the magnitude and phase calculation functions as these have
very special use cases and can't even be used for the spectrum
element. Also adjust the docs to mention some properties of the used
FFT implemention, i.e. how the values are scaled. Fixes#492098.
Original commit message from CVS:
* tests/check/libs/audio.c: (init_value_to_channel_layout),
(test_channel_layout_value_intersect), (audio_suite):
Add simple unit test to make sure GstValue intersection
of channel layouts works the way I think it does.
Original commit message from CVS:
* tests/check/libs/tag.c: (test_musicbrainz_tag_registration):
GST_TAG_MUSICBRAINZ_SORTNAME is deprecated and we compile with
-DGST_DISABLE_DEPRECATED, so use new GST_TAG_ARTIST_SORTNAME
instead.
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:
* 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:
* 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-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:
* 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:
* 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:
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:
* 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.