Adds a tag to inform what mode was used by a camera to calculate
the picture capturing exposure
Also adds mapping to exif and tests
API: GST_TAG_CAPTURING_METERING_MODE
https://bugzilla.gnome.org/show_bug.cgi?id=631773
Adds new tag for tagging sharpness processing used
when capturing an image. Also maps it in the exif
tags.
Tests included.
API: GST_TAG_CAPTURING_SHARPNESS
https://bugzilla.gnome.org/show_bug.cgi?id=631773
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
Binding generators apparently need this as they can't really know
that the callback is guaranteed to be called exactly once and that
the user_data can be freed at the end of it.
Adds mappings from:
GST_TAG_CAPTURING_EXPOSURE_PROGRAM -> ExposureProgram
GST_TAG_CAPTURING_EXPOSURE_MODE -> ExposureMode
GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE -> SceneCaptureType
GST_TAG_CAPTURING_GAIN_ADJUSTMENT -> GainControl
GST_TAG_CAPTURING_WHITE_BALANCE -> WhiteBalance
GST_TAG_CAPTURING_CONTRAST -> Constrast
GST_TAG_CAPTURING_SATURATION -> Saturation
Also renames gst_tag_image_orientation_from_exif_value and
gst_tag_image_orientation_to_exif_value to remove the 'gst'
prefix and not including in the win32 defs.
Tests included.
If we find a bag of tags of type string in the xmp packet, we
should concat them, this is not the ideal approach, but at
least works for now as we don't know what type of tag it
is (simple, structure, seq, alt or bag)
So people can check what version of the gst-plugins-base libs they're
building against or linked against.
API: GST_PLUGINS_BASE_VERSION_MAJOR
API: GST_PLUGINS_BASE_VERSION_MINOR
API: GST_PLUGINS_BASE_VERSION_MICRO
API: GST_PLUGINS_BASE_VERSION_NANO
API: GST_CHECK_PLUGINS_BASE_VERSION
API: gst_plugins_base_version()
API: gst_plugins_base_version_string()
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.
Adds mappings for:
GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
GST_TAG_GEO_LOCATION_MOVEMENT_SPEED
GST_TAG_GEO_LOCATION_ELEVATION
Does some refactoring in the code to reduce number of parameters
passed to functions
Tests included.
Adds GST_TAG_GEO_LOCATION_MOVEMENT_SPEED,
GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION and
GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION to xmp
mappings.
Tests included.
Adds a mapping to the _ELEVATION tag, this is a different
mapping as it has to be mapped into exif:GPSAltitude and
exif:GPSAltitudeRef at the same time. So we needed to refactor
a little more to be able to deserialize it properly.
Now, when parsing a xmp buffer into a taglist all tags are
added to a list before being parsed so that when one of the
altitude tags are found the deserialization function can search
for its complementary tag to do the correct parsing
Fixes#613690
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.
XMP metadata can be embedded in many media container formats. Implement own
parser and formatter that can be used to convert between an xpacket and a
GstTagList. Add unit tests.
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.
Add some utility functions for language tags and ISO-639
codes. These are useful for both GUIs and elements. The
iso-codes package is used for language name translations
if available.
API: gst_tag_get_language_codes()
API: gst_tag_get_language_name()
API: gst_tag_get_language_code()
API: gst_tag_get_language_code_iso_639_1()
API: gst_tag_get_language_code_iso_639_2B()
API: gst_tag_get_language_code_iso_639_2T()
Add a new video event to mark the start or end of a still-frame
sequence, and a parser function to identify and extract info from
such events.
API: gst_video_event_new_still_frame()
API: gst_video_event_parse_still_frame()
Fixes: #601942
Rhythmbox uses cdda:// URIs of the form cdda://track#device, which
worked before the fix for bug #321532.
Also adds a check for negative track numbers and some unit tests for URI
parsing.
Fixes bug #595454.
Revert previous 'fix' for bug #588717 and fix it properly, whilst
maintaining the streamheader field on the output caps. Also make
sure we don't leak header buffers we couldn't push when downstream
is unlinked. Add unit test for the presence of the streamheader
field on the output caps and for the issue from bug #588717.
There are flac-in-ogg files without the usual flac packet framing
and these files just have a 4-byte fLaC ID packet as first packet.
We need to recognise the type just from these four bytes if we
want oggdemux to recognise these streams correctly.
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.
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.