Make code including GStreamer headers compile with -Wcast-qual by
maintaining const-ness when casting. Also fix function signature of
gst_byte_writer_set_pos(): the byte writer should not be marked as
const.
https://bugzilla.gnome.org/show_bug.cgi?id=627910
Adds GST_TAG_APPLICATION_DATA for representing arbitrary private
data that applications might want to store into tags. Exif/id3,
for example, have tags for this.
API: GST_TAG_APPLICATION_DATA
Fixes#626651
For some reason the static inline function GST_CAT_LEVEL_LOG_valist is
now picked up, which then breaks the build because it's not documented,
so add it to the sections file.
Based on patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com>.
Fixes#625862.
Adds a new tag to inform about the image orientation and how
to rotate and flip it before display.
Note that this tag is a string with a predefined set of
possible values.
API: GST_TAG_IMAGE_ORIENTATION
Fixes#619508
A pad is 'negotiable' when its container element is in a state greater
than GST_STATE_READY
API:gst_pad_is_negotiable
API:gst_pad_set_negotiable
API:GST_PAD_NEGOTIABLE
https://bugzilla.gnome.org/show_bug.cgi?id=618644
This allows removing structures from caps without them being freed. Helpful when
plugins need to move around structures without having to do an expensive structure
copy.
API:gst_caps_steal_structure
https://bugzilla.gnome.org/show_bug.cgi?id=621527
This makes it possible to easily get a *:5 debug log without all
the refcounting noise, and drastically reduces the number of lines
output for a normal log (46m to 28m for a 20min video). The full log
including refcounting information can still be gotten using *:7.
Fixes#620460.
Adds 3 new geo location tags involving direction and
movement of capture. Those are:
API: GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
API: GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
API: GST_TAG_GEO_LOCATION_MOVEMENT_SPEED
Fixes#617223
Adds those new tags to describe the device manufacturer and
model used to create medias.
API: GST_TAG_DEVICE_MANUFACTURER
API: GST_TAG_DEVICE_MODEL
Fixes#615941
Adds a new tag for user favorite media rating.
User rating informs how much (from 0 to 100) a user
'likes' a media.
Having an percent uint range for this is easy to map into other scales,
like some players that allow users to attribute 'stars' to its
media.
API: GST_TAG_USER_RATING
Fixes#520697
Adds that warning to configure.ac
Includes a tiny change of the GST_BOILERPLATE_FULL() macro:
The get_type() function is no longer declared before being defined.
https://bugzilla.gnome.org/show_bug.cgi?id=611692
The only reason these two functions are still around is that at some
point in the past they were in a public header, so we can't really
remove them now even though they should have been private all along
(and aren't really particularly useful). Since these are just empty
stubs now that do nothing but return FALSE and will be removed in
0.11 anyway, we may just as well deprecate them formally.
Adds the following new tags:
GST_TAG_SHOW_NAME
GST_TAG_SHOW_SORTNAME
GST_TAG_SHOW_EPISODE_NUMBER
GST_TAG_SHOW_SEASON_NUMBER
GST_TAG_LYRICS
GST_TAG_COMPOSER_SORTNAME
GST_TAG_GROUPING
Fixes#599759
gst_event_new_sink_message()
gst_event_parse_sink_message()
This event is used for sending a GstMessage downstream and synchronized
with the stream, to be posted by the sink once it reaches the sink.
Fixes bug #602275.
gst_util_greatest_common_divisor()
gst_util_double_to_fraction()
gst_util_fraction_to_double()
Using these instead of going over GValue has much lower overhead.
Also add float<->fraction transform functions for GValue.
This returns the internal feature list cookie, which changes every
time a feature is added or removed. This can be used by elements
to check if they should update their cached feature lists.
This patch adds gst_caps_set_value() and allows gst_caps_set_simple() to
work on non-simple caps. See the API documentation for the functions
about what they do.
The intention of these changes is to ease working with caps in caps
transform functions. An example for this would be ffmpegcolorspace,
where the caps transform function could be changed to look roughly like
this (pseudocode ahead):
result = gst_caps_copy (template_caps);
value = gst_structure_get_value (gst_caps_get_structure (caps, 0),
"widh");
gst_caps_set_value (result, value);
/* same for height, framerate and par */
return caps;
which is much cleaner and easier to understand than the current code.
https://bugzilla.gnome.org/show_bug.cgi?id=597690
In most places in core and baseclasses we just need the caps to do caps-
intersections. In that case ref'ed caps are enough (no need to copy).
This patch also switches the code to use the new functions.
API: gst_pad_get_caps_refed(), gst_pad_peer_get_caps_refed()
Often we don't need the result of the intersection. Add a variant that only
tries to intersect. It can break out earlier and does less GValue copying.
API: gst_caps_can_intersect()
Add a new macro GST_DEBUG_CATEGORY_GET to get a log category by name. This
allows plugins to use e.g. core categories like PERFORMANCE or CLOCK.
API: GST_DEBUG_CATEGORY_GET
Add new method to iterate a bufferlist without having to allocate an iterator.
Add convenience method for getting an item from the list based on the group and
index.
Remove redundant _do_data callback and method.
Update unit-tests and add some more for the new methods.