summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-07-06 13:05:02 +0300
committerSebastian Dröge <sebastian@centricular.com>2016-07-06 13:05:02 +0300
commitaf5c9cbb200a503e8f38cd0eb44bbac046ca492e (patch)
treeb2ff0c7bfa295aa939ef2853c13f9cefcdb7489a
parent476e1397358e8aa5e267002f5c5ad2c0b45d38b1 (diff)
Release 1.9.11.9.1
-rw-r--r--ChangeLog1575
-rw-r--r--NEWS787
-rw-r--r--RELEASE95
-rw-r--r--configure.ac4
-rw-r--r--docs/plugins/gstreamer-plugins.hierarchy1
-rw-r--r--docs/plugins/inspect/plugin-coreelements.xml4
-rw-r--r--gstreamer.doap10
-rw-r--r--win32/common/config.h8
-rw-r--r--win32/common/gstenumtypes.c67
-rw-r--r--win32/common/gstenumtypes.h8
-rw-r--r--win32/common/gstversion.h4
11 files changed, 1734 insertions, 829 deletions
diff --git a/ChangeLog b/ChangeLog
index 9e1410d9a..586f74410 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,1580 @@
+=== release 1.9.1 ===
+
+2016-07-06 Sebastian Dröge <slomo@coaxion.net>
+
+ * configure.ac:
+ releasing 1.9.1
+
+2016-07-06 10:17:37 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/da.po:
+ * po/hr.po:
+ * po/pt_BR.po:
+ * po/sk.po:
+ po: Update translations
+
+2016-07-05 12:17:18 +0200 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: Don't add calculated bitrates until threshold
+ Waiting before posting calculated bitrates seems to be the
+ intent of the code, so avoid adding them to the tag list
+ pushed with the first frame.
+ When the threshold is reached, gst_base_parse_update_bitrates
+ sets tags_changed, so this posts the calculated ones right
+ that moment.
+ This prevents an insane average calculated from just the
+ first (key) frame from getting posted.
+ https://bugzilla.gnome.org/show_bug.cgi?id=768439
+
+2016-07-04 10:00:38 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: Make sure to not create an invalid event order when generating the default CAPS event because of a GAP event
+ There must be a SEGMENT event before the GAP event, and SEGMENT events must
+ come after any CAPS event. We however did not produce any CAPS yet, so we need
+ to ensure to insert the CAPS event before the SEGMENT event into the pending
+ events list.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766970
+
+2016-07-01 22:34:59 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/gstinfo.h:
+ gstinfo: Avoid gcc 6 warning that breaks the tests build
+ gcc 6 has problems detecting and avoiding throwing
+ a warning for tautological compares in macros (they
+ should only trigger for compares outside macros).
+ Avoid them with a nasty cast of one parameter to void *
+ https://bugzilla.gnome.org/show_bug.cgi?id=764526
+
+2016-07-01 09:44:12 +0200 Edward Hervey <edward@centricular.com>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: Fix behaviour with not-linked and eos pads
+ This is an update on c9b6848885f4675d447e823c8fb117e247658252
+ multiqueue: Fix not-linked pad handling at EOS
+ While that commit did fix the behaviour if upstream sent a GST_EVENT_EOS,
+ it would break the same issue when *downstream* returns GST_FLOW_EOS
+ (which can happen for example when downstream decoders receive data
+ from after the segment stop).
+ GST_PAD_IS_EOS() is only TRUE when a GST_EVENT_EOS has flown through it
+ and not when a GST_EVENT_EOS has gone through it.
+ In order to handle both cases, also take into account the last flow
+ return.
+ https://bugzilla.gnome.org/show_bug.cgi?id=763770
+
+2016-06-30 15:07:28 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstevent.c:
+ * gst/gstevent.h:
+ * gst/gstmessage.c:
+ * gst/gstmessage.h:
+ * gst/gststreamcollection.c:
+ * gst/gststreamcollection.h:
+ * gst/gststreams.c:
+ * gst/gstutils.c:
+ streams: sprinkle some Since: markers for docs
+
+2016-06-30 14:37:17 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: add gtk-doc blurb for new pad property
+
+2016-02-10 11:42:04 +0100 Edward Hervey <edward@centricular.com>
+
+ * plugins/elements/gstmultiqueue.c:
+ * plugins/elements/gstmultiqueue.h:
+ multiqueue: Add a pad property to "group" streams
+ When syncing by running time, multiqueue will throttle unlinked streams
+ based on a global "high-time" and the pending "next_time" of a stream.
+ The idea is that we don't want unlinked streams to be "behind" the global
+ running time of linked streams, so that if/when they get linked (like when
+ switching tracks) decoding/playback can resume from the same position as
+ the other streams.
+ The problem is that it assumes elements downstream will have a more or less
+ equal buffering/latency ... which isn't the case for streams of different
+ type. Video decoders tend to have higher latency (and therefore consume more
+ from upstream to output a given decoded frame) compared to audio ones, resulting
+ in the computed "high_time" being at the position of the video stream,
+ much further than the audio streams.
+ This means the unlinked audio streams end up being quite a bit after the linked
+ audio streams, resulting in gaps when switching streams.
+ In order to mitigate this issue, this patch adds a new "group-id" pad property
+ which allows users to "group" streams together. Calculating the high-time will
+ now be done not only globally, but also per group. This ensures that within
+ a given group unlinked streams will be throttled by that group's high-time
+ instead.
+ This fixes gaps when switching downstream elements (like switching audio tracks).
+
+2015-06-12 10:53:23 +0200 Edward Hervey <edward@centricular.com>
+
+ * docs/design/part-stream-selection.txt:
+ * docs/gst/gstreamer-docs.sgml:
+ * docs/gst/gstreamer-sections.txt:
+ * gst/Makefile.am:
+ * gst/gst.c:
+ * gst/gst.h:
+ * gst/gstevent.c:
+ * gst/gstevent.h:
+ * gst/gstmessage.c:
+ * gst/gstmessage.h:
+ * gst/gstquark.c:
+ * gst/gstquark.h:
+ * gst/gststreamcollection.c:
+ * gst/gststreamcollection.h:
+ * gst/gststreams.c:
+ * gst/gststreams.h:
+ * gst/gstutils.c:
+ * gst/gstutils.h:
+ * tests/check/Makefile.am:
+ * tests/check/gst/.gitignore:
+ * tests/check/gst/gstevent.c:
+ * tests/check/gst/gstmessage.c:
+ * tests/check/gst/gststream.c:
+ * tests/check/gst/gststream.h:
+ * win32/common/libgstreamer.def:
+ gst: New Stream listing/selection system
+ * GstStream
+ * GstStreamCollection
+ * GST_EVENT_SELECT_STREAMS
+ * GST_MESSAGE_STREAM_COLLECTION
+
+2016-06-29 23:24:02 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstbufferpool.c:
+ * gst/gstbus.c:
+ * gst/gstpoll.c:
+ poll: #define EWOULDBLOCK to EAGAIN if it's not defined on Windows
+
+2016-06-29 14:05:18 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstbufferpool.c:
+ bufferpool: Fix handling of the GstPoll
+ Especially if multiple threads are waiting for buffers to be available again,
+ the current code was wrong. Fix this and document clearly how the GstPoll is
+ supposed to be used.
+ Also fix some potential races with reading from the GstPoll before writing
+ actually happened.
+ https://bugzilla.gnome.org/show_bug.cgi?id=767979
+
+2016-06-29 14:02:55 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstbus.c:
+ bus: Make sure to always read the control after popping a message
+ It might happen that we popped the message before writing of the control
+ happened. In this case we just have to retry again a bit later, and failure to
+ do so will cause an additional byte in the control and the GSource /
+ gst_poll_wait() to always wake up again immediately.
+ https://bugzilla.gnome.org/show_bug.cgi?id=750397
+
+2016-06-29 13:37:28 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstsystemclock.c:
+ systemclock: Improve GstPoll handling and don't check for impossible errno values
+ Also just read/write control every time, GstPoll is optimized by itself
+ already to only do I/O if switching between empty and one byte.
+ https://bugzilla.gnome.org/show_bug.cgi?id=750397
+
+2016-06-29 13:35:35 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstpoll.c:
+ poll: Clarify when FALSE is returned from read/write_control()
+ And also mention what the expected values of errno are going to be.
+ write_control() will only ever return FALSE if there was a critical error. It
+ will never return because of EINTR, EAGAIN or EWOULDBLOCK.
+ read_control() will return FALSE if there was no byte to read, in which case
+ errno would be EWOULDBLOCK.
+ In all other cases there was a critical error.
+ https://bugzilla.gnome.org/show_bug.cgi?id=750397
+
+2016-06-29 13:26:57 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstpoll.c:
+ poll: set_controllable(), restart() and set_flushing() are only valid for non-timer GstPolls
+ On timer GstPolls it will cause the control socket state to become
+ inconsistent as now one less read_control() than write_control() be would
+ needed.
+ Similarly, read_control() and write_control() are only valid on timer
+ GstPolls.
+ https://bugzilla.gnome.org/show_bug.cgi?id=750397
+
+2016-06-29 13:11:01 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstpoll.h:
+ poll: Warn if the return value of gst_poll_read_control() is unused
+ This might fail even under correct usage, e.g. if read_control() is called
+ from another thread before write_control() finished in another. It has to be
+ retried then, or other measures have to be taken, depending on how it is used
+ by the surrounding code.
+ https://bugzilla.gnome.org/show_bug.cgi?id=750397
+
+2016-06-29 18:57:42 +0200 Matthew Gruenke <mgruenke@tycoint.com>
+
+ * gst/gstpoll.c:
+ poll: Fix various race conditions with read_control() and write_control()
+ This addresses slightly different race conditions on Linux and Windows, and
+ fixes gst_poll_read_control() when control_pending == 0.
+ On Linux, the socketpair() used for control should not be made O_NONBLOCK.
+ If there's any propagation delay between set->control_write_fd.fd and
+ set->control_read_fd.fd, even the mutex now held will not be sufficient to
+ prevent a race condition. There's no benefit to using O_NONBLOCK, here.
+ Only liabilities.
+ For Windows, it's necessary to fix the race condition between testing
+ set->control_pending and performing WAKE_EVENT()/RELEASE_EVENT(). This is
+ accomplished by acquiring and holding set->lock, for both of these operations.
+ We could optimize the Linux version by making this Windows-specific.
+ For consistency with the Linux implementation, Windows' RELEASE_EVENT()
+ has also been made to block, although it should never happen.
+ Also, changed release_wakeup() to return TRUE and decrement control_pending
+ only when > 0. Furthermore, RELEASE_EVENT() is called only when
+ control_pending == 1.
+ Finally, changed control_pending to use normal, non-atomic arithmetic
+ operations, since it's now protected by set->lock.
+ Note: even though the underlying signaling mechanisms are blocking,
+ release_wakeup() is effectively non-blocking, as it will only attempt to read
+ from control_read_fd.fd after a byte has been written to control_write_fd.fd
+ or WaitForSingleObject() after it's been signaled.
+ https://bugzilla.gnome.org/show_bug.cgi?id=750397
+
+2016-06-28 15:01:17 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gstbus.c:
+ bus: chain up GObject::constructed() to the parent class' implementation
+ Needed so GstBus can be tracked by the leaks tracer.
+ https://bugzilla.gnome.org/show_bug.cgi?id=768141
+
+2016-06-24 05:26:09 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/gstconfig.h.in:
+ gstconfig.h: Don't use extern with dllexport
+ GCC emits an error for this with -Werror:
+ plugin.c:22:1: error: 'gst_plugin_desc' initialized and declared 'extern' [-Werror]
+ This matches how glib does symbol exporting.
+ https://bugzilla.gnome.org/show_bug.cgi?id=767463
+
+2016-06-21 19:49:15 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * configure.ac:
+ * gst/gstconfig.h.in:
+ win32: Don't use dllexport/import when only building statically
+ If the prototypes in the public API have dllimport in them when building
+ statically on Windows, the compiler will look for symbols with symbol
+ mangling and indirection corresponding to a DLL. This will cause a build
+ failure when trying to link tests/examples/etc.
+ External users of GStreamer also need to define -DGST_STATIC_COMPILATION
+ if they want to link to static gstreamer libraries on Windows.
+ A similar version of this patch has been committed to all gstreamer
+ repositories.
+ https://bugzilla.gnome.org/show_bug.cgi?id=767463
+
+2016-06-21 11:45:26 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * common:
+ Automatic update of common submodule
+ From ac2f647 to f363b32
+
+2016-06-15 16:24:27 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * tests/check/elements/queue2.c:
+ tests: add a test for small ring buffer sizes
+ https://bugzilla.gnome.org/show_bug.cgi?id=767688
+
+2016-06-15 13:43:59 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * plugins/elements/gstqueue2.c:
+ queue2: fix crash deleting current region for small ring buffers
+ Ensure we do not attempt to destroy the current range. Doing so
+ causes the current one to be left dangling, and it may be dereferenced
+ later, leading to a crash.
+ This can happen with a very small queue2 ring buffer (10000 bytes)
+ and 4 kB buffers.
+ repro case:
+ gst-launch-1.0 fakesrc sizetype=2 sizemax=4096 ! \
+ queue2 ring-buffer-max-size=1000 ! fakesink sync=true
+ https://bugzilla.gnome.org/show_bug.cgi?id=767688
+
+2016-06-20 11:34:49 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/gst/gstobject.c:
+ tests: gstobject: fix typo in test name
+
+2016-06-16 14:08:01 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * docs/design/part-tracing.txt:
+ docs/design/part-tracing: fix reference to renamed func
+
+2016-06-08 12:34:53 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * plugins/elements/gsttee.c:
+ tee: Properly handle return value when only 1 pad
+ This patch handle the case when you have 1 pad (so the fast path is
+ being used) but this pad is removed. If we are in allow-not-linked, we
+ should return GST_FLOW_OK, otherwise, we should return GST_FLOW_UNLINKED
+ and ignore the meaningless return value obtained from pushing.
+ https://bugzilla.gnome.org/show_bug.cgi?id=767413
+
+2016-06-16 15:52:16 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * scripts/gst-plot-traces.sh:
+ gst-plot-traces.sh: add a script to plot gst-tracer graphs
+ The script extracts cpu-usage data from a tracelog and plots it via gnuplot.
+
+2016-06-15 16:12:23 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstdevice.c:
+ device: Fix typo
+ paramater -> parameter
+
+2016-06-14 19:16:33 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstinfo.h:
+ info: flesh out GST_PTR_FORMAT docs a bit
+
+2016-06-13 18:33:27 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstbasesink.c:
+ basesink: Update start time when losing state only if we were in PLAYING
+ If we were in PAUSED, the current clock time and base time don't have much to
+ do with the running time anymore as the clock might have advanced while we
+ were PAUSED. The system clock does that for example, audio clocks often don't.
+ Updating the start time in PAUSED will cause a) the wrong position to be
+ reported, b) step events to step not just the requested amount but the amount
+ of time we spent in PAUSED. The start time should only ever be updated when
+ going from PLAYING to PAUSED to remember the current running time (to be able
+ to compensate later when going to PLAYING for the clock time advancing while
+ PAUSED), not when we are already in PAUSED.
+ Based on a patch by Kishore Arepalli <kishore.arepalli@gmail.com>
+ The updating of the start time when the state is lost was added in commit
+ ba943a82c0bbfd17c9ee9f5068d44c9d9274fd13 to fix the position reporting when
+ the state is lost. This still works correctly after this change.
+ https://bugzilla.gnome.org/show_bug.cgi?id=739289
+
+2016-06-11 22:18:06 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstpad.c:
+ pad: Log pad offsets as signed times
+
+2016-06-11 21:56:19 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/gst/gstpad.c:
+ pad: Also check the number of segment events and if other serialized events and queries trigger segment updating too
+ https://bugzilla.gnome.org/show_bug.cgi?id=765049
+
+2016-06-11 21:37:47 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/gst/gstpad.c:
+ pad: Add unit test for pad offset handling on src pads
+ https://bugzilla.gnome.org/show_bug.cgi?id=765049
+
+2016-06-07 11:32:47 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/libs/gstreamer-libs-sections.txt:
+ * libs/gst/base/gstadapter.c:
+ * libs/gst/base/gstadapter.h:
+ * tests/check/libs/adapter.c:
+ * win32/common/libgstbase.def:
+ adapter: Rename functions and implement new functions, update test
+ We don't do calculations with different units (buffer offsets and bytes)
+ anymore but have functions for:
+ 1) getting the number of bytes since the last discont
+ 2) getting the offset (and pts/dts) at the last discont
+ and the previously added function to get the last offset and its distance from
+ the current adapter position.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766647
+
+2016-05-19 10:31:02 +0200 Edward Hervey <edward@centricular.com>
+
+ * docs/libs/gstreamer-libs-sections.txt:
+ * libs/gst/base/gstadapter.c:
+ * libs/gst/base/gstadapter.h:
+ * tests/check/libs/adapter.c:
+ * win32/common/libgstbase.def:
+ adapter: Add methods to query current offset
+ API: gst_buffer_prev_offset
+ API: gst_buffer_get_offset_from_discont
+ The gst_buffer_get_offset_from_discont() method allows retrieving the current
+ offset based on the GST_BUFFER_OFFSET of the buffers that were pushed in.
+ The offset will be set initially by the GST_BUFFER_OFFSET of
+ DISCONT buffers, and then incremented by the sizes of the following
+ buffers.
+ The gst_buffer_prev_offset() method allows retrievent the previous
+ GST_BUFFER_OFFSET regardless of flags. It works in the same way as
+ the other gst_buffer_prev_*() methods.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766647
+
+2016-06-09 17:42:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstconfig.h.in:
+ gstconfig.h.in: indent #if #else jungle for better readability
+
+2016-06-08 12:11:19 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstutils.c:
+ * gst/gstutils.h:
+ * win32/common/libgstreamer.def:
+ utils: Add gst_pad_link_maybe_ghosting() for consistency
+ We already had a _full() version, but having that alone seems inconsistent.
+ Add a non-full version that mirrors the behaviour of gst_pad_link() vs
+ gst_pad_link_full().
+
+2016-05-22 13:10:06 +0200 Edward Hervey <edward@centricular.com>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: Make sure DISCONT flags are properly propagated
+ If we drop a frame that contained a discontinuity, we must remember
+ that for the next frame that *will* be pushed downstream.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766795
+
+2016-06-04 13:31:58 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstdeviceprovider.c:
+ deviceprovider: remove base_class_finalize function
+ It's not going to get called anyway.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765540
+
+2016-06-04 13:11:55 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstelement.c:
+ element: remove base_class_finalize_func which is never called
+ Won't be called for static types, so no point keeping it around.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765540
+
+2016-06-03 13:55:44 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * plugins/tracers/gstleaks.c:
+ tracers: leaks: some micro-optimisations
+ - we know number of filter items is not going to change,
+ but compiler doesn't
+ - only do GST_IS_TRACER check for GObjects, not mini objects
+ - use non-type check cast macros in performance critical paths
+
+2016-05-10 09:29:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * docs/design/part-tracing.txt:
+ * plugins/tracers/Makefile.am:
+ * plugins/tracers/gstleaks.c:
+ * plugins/tracers/gstleaks.h:
+ * plugins/tracers/gsttracers.c:
+ tracers: add leaks tracer
+ https://bugzilla.gnome.org/show_bug.cgi?id=765052
+
+2016-05-30 12:11:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gstcaps.c:
+ * gst/gstdeviceproviderfactory.c:
+ * gst/gstelementfactory.c:
+ * gst/gstpadtemplate.c:
+ * gst/gsttask.c:
+ * libs/gst/net/gstnetclientclock.c:
+ Use MAY_BE_LEAKED_FLAG
+ This helps having "make check" passing with the leaks tracer enabled.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766008
+
+2016-05-09 16:31:36 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gstminiobject.c:
+ * gst/gstobject.c:
+ * gst/gsttracerutils.c:
+ * gst/gsttracerutils.h:
+ tracing: add hooks when objects or miniobjects are created and destroyed
+ https://bugzilla.gnome.org/show_bug.cgi?id=765052
+
+2016-05-09 16:56:56 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gst.c:
+ gst_deinit: move down tracers cleaning
+ We want the tracer detecting leaks to be finalized as late as possible
+ to give the chance to other gst components to be properly cleaned first.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765052
+
+2016-05-10 11:06:42 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/gst/gstplugin.c:
+ tests: plugin: remove feature refcount assert
+ This check fails if one, or more, tracers are loaded while running the
+ test. The new "leaks" tracer will be able to check for leaks anyway.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765052
+
+2016-04-14 12:25:43 +0300 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gststructure.c:
+ tracerrecord: allow G_TYPE_POINTER for field types
+ Tracers may want to display the address of an object.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765052
+
+2016-05-30 13:42:36 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * tests/check/gst/gstobject.c:
+ gstobject: split up name tests
+ It is better to have separate tests:
+ 1) the test name will tell what is broekn when the test fails
+ 2) we still run the other tests when one assert fails
+ 3) the tests are easier to understand
+ 4) we don't rely on sie effect of previous actions
+ 5) ...
+ Also ix the assertion message for the name checks (Gst -> fakeobject).
+
+2016-05-30 02:06:01 -0700 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/design/part-tracing.txt:
+ design: update design doc
+ Some of the api was renamed before the merge.
+
+2016-05-30 02:04:18 -0700 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstquery.c:
+ docs: xref the free function and expand allocation query docs
+ Add xrefs for how to parse pool details from an allocation query.
+
+2016-05-26 14:43:10 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * tests/check/gst/gstobject.c:
+ object: Add _set_name() test on parented object
+ This is not allowed, and set_name() should fail.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766923
+
+2016-05-26 14:41:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * tests/check/gst/gstobject.c:
+ object: Check that name change are notified once
+ GObject allow calling g_object_notify() within set_property() and
+ won't notify it twice. As it was raised during review, add a unit test to
+ make sure.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766923
+
+2016-05-26 13:17:37 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/gstobject.c:
+ object: Notify name change when using _set_name()
+ There was a 0.11 FIXME about notifying the name change or removing that
+ function. Clearly we can't remove this function, so let's notify it.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766923
+
+2016-05-25 15:30:21 +0200 Edward Hervey <bilboed@bilboed.com>
+
+ * gst/gst_private.h:
+ gst_private: Fix gstconfig include
+ Since it's a generated header, we need to specify the gst subdir so
+ that it gets properly included in out-of-dir compilation
+
+2016-05-25 10:48:05 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gst_private.h:
+ gst: make sure to include gstconfig.h also in gst_private.h
+ For GST_EXPORT define and also things like GST_DISABLE_REGISTRY.
+ Hopefully fixes the following build failure on cerbero-cross-mingw32:
+ helpers/gst-plugin-scanner.c:50: undefined reference to `_imp___gst_disable_registry_cache'
+
+2016-05-24 00:40:27 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/Makefile.am:
+ * libs/gst/base/Makefile.am:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/controller/Makefile.am:
+ * libs/gst/net/Makefile.am:
+ g-i: pass compiler env to g-ir-scanner
+ It's what introspection.mak does as well. Should
+ fix spurious build failures on gnome-continuous.
+
+2016-05-23 21:15:48 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/Makefile.am:
+ gst: g-i: pass compiler with quotes
+ So CC="ccache gcc" works properly.
+
+2016-05-23 21:06:53 +0100 Ray Strode <rstrode@redhat.com>
+
+ * gst/Makefile.am:
+ gst: attempt to fix/track-down mysterious gnome-continuous build failures
+
+2016-05-23 18:00:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstiterator.c:
+ iterator: only unset GValue if it was inited
+ And add some function guards. From GLib 2.48 on it is
+ allowed to pass an uninitialised GValue to g_value_unset().
+ https://bugzilla.gnome.org/show_bug.cgi?id=763762
+
+2016-05-23 18:44:01 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/parse/Makefile.am:
+ gst/parse: Also pass -DGST_EXPORTS here
+ This static library gets included directly into libgstreamer-1.0.so, so it needs
+ the same GST_EXPORTS definition as the rest of the code that's compiled into
+ that otherwise it will try to find the constants it uses from gstinfo via DLL
+ importing (__declspec(dllimport)).
+ Fixes https://ci.gstreamer.net/job/cerbero-cross-mingw32/4393/
+
+2016-05-20 00:24:54 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/gstconfig.h.in:
+ gstconfig.h: Always use dllexport/import on Windows
+ __declspec(dllexport/import) are supported by GCC and are needed for
+ properly generating code that fetches the values of constants from DLLs
+ built with __declspec(dllexport) which happens when anything using
+ GST_EXPORT is built with MSVC.
+ See: https://msdn.microsoft.com/en-us/library/619w14ds.aspx
+ Essentially, if you built gstreamer with MSVC and then tried to use
+ constants from it (such as GST_TYPE_CAPS) in a plugin, GCC would
+ retrieve the address of the value instead of the value itself.
+
+2016-05-19 11:27:36 -0300 Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>
+
+ * scripts/git-update.sh:
+ scripts: make git-update.sh build with all cores available
+ The git-update.sh now builds with all cores available. In case of
+ failure it defaults to 1
+ The developer can still override this by setting -j to something else
+ in MAKEFLAGS, as stated by 299605dfe2f97fca330161ff01a392e1a85fe422.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766666
+
+2016-05-04 13:53:56 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gstminiobject.h:
+ * gst/gstobject.h:
+ (mini)object: add MAY_BE_LEAKED flag
+ https://bugzilla.gnome.org/show_bug.cgi?id=766008
+
+2016-05-15 14:15:51 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstbin.c:
+ * tests/check/gst/gstbin.c:
+ bin: emit deep-element-{added,removed} for children of newly-added/removed bin
+ https://bugzilla.gnome.org/show_bug.cgi?id=578933
+
+2016-05-14 10:55:53 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstbin.c:
+ * gst/gstbin.h:
+ * tests/check/gst/gstbin.c:
+ bin: add "deep-element-added" and "deep-element-removed" signals
+ This means applications and bin sub-classes can easily track when
+ a new child element is added to the pipeline sub-hierarchy or
+ removed.
+ Currently doesn't signal deep added/removed for elements inside
+ a bin if a bin is added/removed.
+ https://bugzilla.gnome.org/show_bug.cgi?id=578933
+
+2016-05-15 15:02:49 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstpad.h:
+ pad: Improve IDLE probe docs
+ Make it explicit that the pad is only blocked while the callback is running,
+ and the pad will be unblocked again once the callback returned.
+ If BLOCK and IDLE behaviour is needed, both need to be used.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766002
+
+2016-05-15 13:29:55 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/inspect/plugin-coreelements.xml:
+ docs: Update for git master
+
+2016-03-11 16:04:52 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * plugins/elements/gstqueue.c:
+ * plugins/elements/gstqueue2.c:
+ queue: Only unblock upstream waiting for the query once downstream is finished
+ ... when flushing and deactivating pads. Otherwise downstream might have a
+ query that was already unreffed by upstream, causing crashes or other
+ interesting effects.
+ https://bugzilla.gnome.org/show_bug.cgi?id=763496
+
+2016-05-14 17:31:51 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstbasesink.c:
+ * libs/gst/base/gstbasesrc.c:
+ basesink/src: Post an error message if ::start() fails
+ The subclass should do that already, but just in case do it ourselves too as a
+ fallback. Without this, e.g. playbin will just wait forever if this fails
+ because it is triggered as part of an ASYNC state change.
+
+2016-05-14 23:36:43 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/gstbin.c:
+ bin: Fix EOS forwarding on PLAYING->PLAYING
+ When doing a transition from PLAYING to PLAYING, we will fail
+ to forward an EOS message on the bus, and noone else will ever
+ send it because there'll be no actual state changed message.
+ Allow EOS through directly in that case.
+
+2016-05-13 09:43:14 +0200 Edward Hervey <bilboed@bilboed.com>
+
+ * gst/gstpad.c:
+ pad: Don't drop LATENCY queries with default implementation
+ If there is only one pad in the internal pads, when folding for
+ LATENCY queries it will just drop the response if it's not live.
+ This is maybe not the proper fix, but it will just accept the first
+ peer responses, and if there are any other pads, it will only take
+ them into account if the response is live.
+ This *should* properly handle the aggregation/folding behaviour of
+ multiple live peer responses, while at the same time handling the
+ simple one-pad-only-and-forward use-case
+ https://bugzilla.gnome.org/show_bug.cgi?id=766360
+
+2016-04-07 00:46:20 +1000 Jan Schmidt <jan@centricular.com>
+
+ * tools/gst-launch.1.in:
+ Update the examples in the gst-launch-1.0 manpage
+ Replace elements that don't exist any more with ones
+ that do, and insert elements like mpegaudioparse where
+ they are needed.
+ https://bugzilla.gnome.org/show_bug.cgi?id=727105
+
+2016-04-02 01:05:39 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/gst.c:
+ debug: Instantiate GType when dumping debug categories.
+ A lot of debug categories are declared in element class_init
+ functions, which don't get run until the element is first created
+ (not just registered in the plugin load function). This means
+ that --gst-debug-help doesn't print out a lot of categories.
+ Creating an instance of each element from the element factory
+ makes them visible, at some extra cost - 2-3 times longer, which can
+ be a full second or two of extra waiting. Yikes!
+ https://bugzilla.gnome.org/show_bug.cgi?id=741001
+
+2016-05-11 15:06:39 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Only push a CAPS event downstream if the sinkpad is not in PULL mode
+ The other signal handlers of the type-found signal might have reactivated
+ typefind in PULL mode already, pushing a CAPS event at that point would cause
+ deadlocks and is in general unexpected by elements that are in PULL mode.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765906
+
+2016-05-11 12:16:09 +0900 Wonchul Lee <wonchul.lee@collabora.com>
+
+ * gst/gstdebugutils.c:
+ debugutils: fix warning on enum properties printing
+ https://bugzilla.gnome.org/show_bug.cgi?id=766251
+
+2016-05-10 15:01:42 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstpad.c:
+ pad: Fix pad state when deactivating from one mode and then trying to activate another and failing
+ When activating a pad in PULL mode, it might already be in PUSH mode. We now
+ first try to deactivate it from PUSH mode and then try to activate it in PULL
+ mode. If the activation fails, we would set the pad to flushing and set it
+ back to its old mode. However the old mode is wrong, the pad is not in PUSH
+ mode anymore but in NONE mode.
+ This fixes e.g. typefind in decodebin reactivating PUSH/PULL mode if upstream
+ actually fails to go into PULL mode after first PUSHING data to typefind.
+
+2016-03-13 11:05:29 -0400 Anthony G. Basile <blueness@gentoo.org>
+
+ * libs/gst/check/libcheck/strsignal.c:
+ libcompat.h: strsignal() should be not be decleared const
+ POSIX standards requires strsignal() to return a pointer to a char,
+ not a const pointer to a char. [1] On uClibc, and possibly other
+ libc's, that do not HAVE_DECL_STRSIGNAL, libcompat.h declares
+ const char *strsignal (int sig) which causes a type error.
+ [1] man 3 strsignal
+ https://bugzilla.gnome.org/show_bug.cgi?id=763567
+
+2016-05-05 18:50:05 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * libs/gst/base/gstflowcombiner.c:
+ flowcombiner: add debug category
+ Not that it logs much.
+
+2016-05-05 18:02:21 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * libs/gst/base/gstflowcombiner.c:
+ flowcombiner: fix docs for gst_flow_combiner_reset()
+
+2016-05-04 10:04:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/pipelines/parse-launch.c:
+ parse-launch: fix factory leak in test
+ We get 2 references one from gst_element_factory_find() and the other
+ from gst_plugin_feature_load().
+ https://bugzilla.gnome.org/show_bug.cgi?id=765976
+
+2016-05-04 13:46:46 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/gst/gstminiobject.c:
+ miniobject: fix ref count leaks in tests
+ https://bugzilla.gnome.org/show_bug.cgi?id=765978
+
+2016-05-04 09:53:32 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gstutils.c:
+ * tests/check/pipelines/parse-launch.c:
+ utils: fix element leak in find_common_root()
+ The root element was not unreffed when iterating over ancestors.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765961
+
+2016-05-02 17:35:29 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tools/gst-inspect.c:
+ inspect: fix feature leak
+ https://bugzilla.gnome.org/show_bug.cgi?id=765957
+
+2016-05-03 11:49:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gsturi.c:
+ uri: unref instead of using _gst_uri_free() directly
+ This confuses gst_tracing as we shortcut the mini object reference
+ system.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765958
+
+2016-05-02 09:32:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/pipelines/seek.c:
+ pipeline: fix bus leak in seek test
+ gst_bus_add_signal_watch_full() keeps a ref on the bus which should
+ be released using gst_bus_remove_signal_watch().
+ https://bugzilla.gnome.org/show_bug.cgi?id=765903
+
+2016-05-02 09:29:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/elements/streamiddemux.c:
+ streamiddemux: fix list and event leaks in test
+ https://bugzilla.gnome.org/show_bug.cgi?id=765903
+
+2016-05-02 08:43:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/elements/selector.c:
+ selector: fix pad leaks in tests
+ setup_input_pad() creates a new pad so we should unref it once we're
+ done.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765903
+
+2016-05-02 08:33:42 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/elements/filesrc.c:
+ filesrc: fix buffer leaks in tests
+ gst_check_setup_sink_pad() internally uses gst_check_chain_func() so we
+ should call gst_check_drop_buffers() when tearing down tests to free the
+ buffers which have been exchanged through the pipeline.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765903
+
+2016-05-02 08:29:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/elements/fakesink.c:
+ fakesink: fix pipeline leak in test
+ https://bugzilla.gnome.org/show_bug.cgi?id=765903
+
+2016-05-02 07:35:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/gst/gstelementfactory.c:
+ elementfactory: fix factory leak in test
+ https://bugzilla.gnome.org/show_bug.cgi?id=765903
+
+2016-05-02 16:00:42 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gstdeviceproviderfactory.c:
+ deviceproviderfactory: fix factory leak
+ The code path when early returning was leaking the extra reference on
+ the factory.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765904
+
+2016-04-10 11:42:18 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstquery.c:
+ query: fix compiler warning
+ C4146: unary minus operator applied to unsigned type, result still unsigned
+
+2016-04-28 14:59:51 +0300 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/gst/gstbin.c:
+ bin: fix leaks in unit tests
+ The test rely on bus being flushed when setting the bin to the NULL state which
+ is not the case. This apply only when setting the pipeline state to
+ NULL.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765720
+
+2016-04-28 14:56:18 +0300 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * tests/check/gst/gstpad.c:
+ pad: fix buffer leaks in tests
+ The buffer received through the pad have to be unreffed using
+ gst_check_drop_buffers().
+ https://bugzilla.gnome.org/show_bug.cgi?id=765719
+
+2016-04-30 14:15:08 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstbuffer.c:
+ * gst/gstghostpad.c:
+ * libs/gst/check/gstharness.c:
+ Fix some nonsensical g-i annotations
+
+2016-04-29 14:55:02 +0200 Matej Knopp <matej.knopp@gmail.com>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: Ignore time when determining whether sparse stream limits have been reached
+ Basically, sq->max_size.visible is never increased for sparse streams in
+ overruncb when empty queue has been found;
+ If the queue is sparse it just skip the entire logic determining whether
+ max_size.visible should be increased, deadlocking the demuxer.
+ What should be done instead is that when determining if limits have been
+ reached, to ignore time for sparse streams, as the buffer may be far in the
+ future.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765736
+
+2016-02-28 12:06:40 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstbin.c:
+ * gst/gstbin.h:
+ * gst/gstelement.c:
+ * gst/gstelement.h:
+ * win32/common/libgstreamer.def:
+ element: Add gst_element_call_async()
+ This calls a function from another thread, asynchronously. This is to be
+ used for cases when a state change has to be performed from a streaming
+ thread, directly via gst_element_set_state() or indirectly e.g. via SEEK
+ events.
+ Calling those functions directly from the streaming thread will cause
+ deadlocks in many situations, as they might involve waiting for the
+ streaming thread to shut down from this very streaming thread.
+ This is mostly a convenience function around a GThreadPool and is for example
+ used by GstBin to continue asynchronous state changes.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760532
+
+2016-04-27 09:21:31 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/manual/advanced-dataaccess.xml:
+ manual: Fix buffer memory leak in appsrc example
+ g_signal_emit_by_name() is not like gst_app_src_push_buffer() due to reference
+ counting limitations of signals, it does *not* take ownership of the buffer.
+
+2016-04-26 16:02:14 +0300 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gst.c:
+ * gst/gst_private.h:
+ * gst/gstcaps.c:
+ caps: add cleanup priv function
+ Those are allocated in _priv_gst_caps_initialize() so it makes
+ sense to have a symetric cleanup functions called by gst_deinit().
+ https://bugzilla.gnome.org/show_bug.cgi?id=765606
+
+2016-04-26 16:02:14 +0300 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gst.c:
+ * gst/gst_private.h:
+ * gst/gstcapsfeatures.c:
+ capsfeature: add cleanup priv function
+ Those are allocated in _priv_gst_caps_features_initialize() so it makes
+ sense to have a symetric cleanup functions called by gst_deinit().
+ https://bugzilla.gnome.org/show_bug.cgi?id=765606
+
+2016-04-21 14:45:39 +0100 Alex Ashley <bugzilla@ashley-family.net>
+
+ * libs/gst/check/gsttestclock.c:
+ testclock: add clock-type property
+ To allow the GstTestClock to be used as a GstSystemClock, it is
+ useful to implement the clock-type property that GstSystemClock
+ provides. This allows GstTestClock to be used as the system clock
+ with code that expects a GstSystemClock.
+ https://bugzilla.gnome.org/show_bug.cgi?id=762147
+
+2016-04-21 13:49:32 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstdatetime.c:
+ datetime: Sanity check year, month and day when parsing ISO-8601 strings
+ Passing years > 9999, months > 12 or days > 31 to gst_date_time_new() will
+ cause an assertion and generally does not make much sense. Instead consider it
+ as a parsing error like hours > 24 and return NULL.
+
+2016-04-20 11:46:19 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: Remember if we interpolated DTS from PTS and refresh it whenever we update the PTS
+ Otherwise PTS and DTS will come out of sync if upstream continues to provide
+ PTS and not DTS, and we have to skip some data from the stream or PTS are not
+ exactly increasing with the duration of each packet.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765260
+
+2016-04-20 11:45:28 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gsttypefindhelper.c:
+ typefindhelper: Fix gobject-introspection warning about invalid transfer annotation
+ gsttypefindhelper.c:485: Warning: GstBase: invalid "transfer" annotation for gsize: only valid for array, struct, union, boxed, object and interface types
+
+2016-04-18 13:05:40 +0300 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * gst/gst.c:
+ * gst/gst_private.h:
+ * gst/gstallocator.c:
+ allocator: add cleanup method
+ Make tracking memory leaks easier.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765212
+
+2016-03-25 15:55:18 +0100 Francisco Velazquez <francisv@ifi.uio.no>
+
+ * tests/check/gst/gstplugin.c:
+ tests: plugin: improve debug message
+ https://bugzilla.gnome.org/show_bug.cgi?id=764199
+
+2016-04-14 11:54:32 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
+
+ * plugins/elements/gstmultiqueue.c:
+ * tests/check/elements/multiqueue.c:
+ multiqueue: Recheck buffering status after changing low threshold
+ https://bugzilla.gnome.org/show_bug.cgi?id=763757
+
+2016-04-14 00:09:44 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
+
+ * plugins/elements/gstmultiqueue.c:
+ * tests/check/elements/multiqueue.c:
+ multiqueue: Recalculate fill level after changing high-threshold
+ This ensures the following special case is handled properly:
+ 1. Queue is empty
+ 2. Data is pushed, fill level is below the current high-threshold
+ 3. high-threshold is set to a level that is below the current fill level
+ Since mq->percent wasn't being recalculated in step #3 properly, this
+ caused the multiqueue to switch off its buffering state when new data is
+ pushed in, and never post a 100% buffering message. The application will
+ have received a <100% buffering message from step #2, but will never see
+ 100%.
+ Fix this by recalculating the current fill level percentage during
+ high-threshold property changes in the same manner as it is done when
+ use-buffering is modified.
+ https://bugzilla.gnome.org/show_bug.cgi?id=763757
+
+2016-04-15 13:50:30 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: When initializing DTS from PTS, remember that we did so
+ If we don't store the value in prev_dts, we would over and over again
+ initialize the DTS from the last known upstream PTS. If upstream only provides
+ PTS every now and then, then this causes DTS to be rather static.
+ For example in adaptive streaming scenarios this means that all buffers in a
+ fragment will have exactly the same DTS while the PTS is properly updated. As
+ our queues are now preferring to do buffer fill level calculations on DTS,
+ this is causing huge problems there.
+ See https://bugzilla.gnome.org/show_bug.cgi?id=691481#c27 where this part of
+ the code was introduced.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765096
+
+2016-04-14 09:58:04 +0100 Julien Isorce <j.isorce@samsung.com>
+
+ * README:
+ * common:
+ Automatic update of common submodule
+ From 6f2d209 to ac2f647
+
+2016-04-13 16:08:30 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: catch errors and flushing case after lock
+ This ensures we can not get into an indefinite wait on the
+ following cond var wait.
+ https://bugzilla.gnome.org/show_bug.cgi?id=764999
+
+2016-04-13 16:40:43 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tools/gst-launch.c:
+ tools: gst-launch: fix up caps printing in verbose mode
+ Add missing 'else' and print caps and taglists without the
+ annoying duplicate string escaping, making both nicer to read.
+ Fixes string leak and coverity CID 1358492.
+
+2016-04-13 12:38:05 +0300 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+ * plugins/tracers/gstrusage.c:
+ rusage: properly free the queue memory
+ The queue is allocated as part of the tracer struct so we should not
+ use g_queue_free() to free it.
+ https://bugzilla.gnome.org/show_bug.cgi?id=764985
+
+2016-04-13 10:21:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstbuffer.c:
+ * gst/gstmeta.c:
+ meta: Warn if a meta implementation is registered without init function
+ This previously caused uninitialized memory unless something else was
+ initializing all the fields explicitly to something.
+ To be on the safe side, we also allocate metas without init function to all
+ zeroes now as it was relatively common.
+ https://bugzilla.gnome.org/show_bug.cgi?id=764902
+
+2016-04-12 15:17:36 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstbasesink.c:
+ Revert "basesink: Take PREROLL_LOCK in wait_event()"
+ This reverts commit 828a4627db0cb6a6706b96d9be97e5e5c7d22215.
+ The lock was already taken elsewhere, in gst_base_sink_event().
+
+2016-04-12 15:11:30 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstbasesink.c:
+ basesink: Take PREROLL_LOCK in wait_event()
+ It is calling do_sync(), which requires the STREAM_LOCK and PREROLL_LOCK to be
+ taken. The STREAM_LOCK is already taken in all callers, the PREROLL_LOCK not.
+ https://bugzilla.gnome.org/show_bug.cgi?id=764939
+
+2016-02-11 09:33:28 +0100 Julien Isorce <j.isorce@samsung.com>
+
+ * tests/check/Makefile.am:
+ tests: add PTHREAD_CFLAGS for make check to pass on OS X
+ Currently "make check" fails with:
+ "error: argument unused during compilation: '-pthread'"
+ PTHREAD_CFLAGS now contains -Qunused-arguments to fix that.
+ Explanation here: http://savannah.gnu.org/patch/?8186#comment21
+ https://bugzilla.gnome.org/show_bug.cgi?id=747954
+
+2016-04-11 10:44:22 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/libs/baseparse.c:
+ tests: baseparse: make work with CK_FORK=no
+ https://bugzilla.gnome.org/show_bug.cgi?id=623469
+
+2016-04-11 10:27:56 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/libs/test_transform.c:
+ * tests/check/libs/transform1.c:
+ * tests/check/libs/transform2.c:
+ tests: transform1: make test work with CK_FORK=no
+ We need to clear some global state and register a new test
+ basetransform subclass for each test because we do things
+ in class_init base on global state.
+ https://bugzilla.gnome.org/show_bug.cgi?id=623469
+
+2016-04-10 20:45:24 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/libs/collectpads.c:
+ tests: collectpads: fix for CK_FORK=no
+ Reset global state when done, and unref sink pads too
+ in teardown function to make it valgrind clean.
+ https://bugzilla.gnome.org/show_bug.cgi?id=623469
+
+2016-04-10 20:25:44 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/elements/streamiddemux.c:
+ tests: streamiddemux: fix with CK_FORK=no
+ Clear global state when done.
+ https://bugzilla.gnome.org/show_bug.cgi?id=623469
+
+2016-04-10 20:04:07 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/gst/gstbufferpool.c:
+ tests: bufferpool: fix wrong assumptions about pointers and object lifecycles
+ The test assumed that if a buffer has the same pointer address as
+ before it is in fact the same mini object and has been re-used by
+ the pool. This seems to be mostly true, but not always. The buffer
+ might be destroyed and when a new buffer is created the allocator
+ might return the same memory that we just freed.
+ Instead attach a qdata with destroy notify function to buffer
+ instances we want to track to make sure the buffer actually
+ gets finalized rather than resurrected and put back into the pool.
+
+2016-04-10 18:37:31 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/pwg/building-boiler.xml:
+ * docs/pwg/pwg.xml:
+ docs: pwg: remove broken references to example code
+ We point to gst-template at the beginning that shoul be
+ enough.
+ https://bugzilla.gnome.org/show_bug.cgi?id=623575
+
+2016-04-08 13:26:48 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/Makefile.am:
+ tests: don't run tracerrecord in valgrind for now
+ Because of the way we implement logging and adding/removing
+ log functions currently (we leak a GList on purpose) this
+ test leaks.
+
+2016-03-05 17:51:01 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * tools/gst-launch.c:
+ tools: gst-launch: use new async property change notification API
+ https://bugzilla.gnome.org/show_bug.cgi?id=763142
+
+2016-03-05 14:12:36 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstelement.c:
+ * gst/gstelement.h:
+ * gst/gstmessage.c:
+ * gst/gstmessage.h:
+ * gst/gstquark.c:
+ * gst/gstquark.h:
+ * tests/check/gst/gstelement.c:
+ * win32/common/libgstreamer.def:
+ element: add API to get property change notifications via messages
+ Be notified in the application thread via bus messages about
+ notify::* and deep-notify::* property changes, instead of
+ having to deal with it in a non-application thread.
+ API: gst_element_add_property_notify_watch()
+ API: gst_element_add_property_deep_notify_watch()
+ API: gst_element_remove_property_notify_watch()
+ API: gst_message_new_property_notify()
+ API: gst_message_parse_property_notify()
+ API: GST_MESSAGE_PROPERTY_NOTIFY
+ https://bugzilla.gnome.org/show_bug.cgi?id=763142
+
+2016-04-07 20:29:10 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/gst/gstcpp.cc:
+ * tests/check/libs/gstlibscpp.cc:
+ tests: Add C++ tests for the other INIT macros we have
+
+2016-04-06 17:19:28 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/gst/gstcpp.cc:
+ tests: gstcpp: flesh out C++ test so we can add more bits
+ Like a check for GST_MAP_INFO_INIT.
+
+2016-04-06 16:48:38 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/libs/gstlibscpp.cc:
+ tests: use catch-all includes for c++ gst libs include test
+ So we get any new header files as well as they're added.
+
+2016-04-06 17:23:20 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstmemory.h:
+ memory: fix C++ compiler warnings with GST_MAP_INFO_INIT
+
+2016-04-04 10:28:18 +0000 Matthew Waters <matthew@centricular.com>
+
+ * gst/gstutils.c:
+ * tests/check/gst/gstutils.c:
+ utils: check the correct element's state on ghosting pads
+ Checking the current element's state when we're adding pads to
+ the parent element is checking the wrong thing.
+ Silences a 'attempting to add an inactive pad to a running element'
+ warning when adding a ghost pad to a running parent bin of the parent
+ bin of the element.
+ https://bugzilla.gnome.org/show_bug.cgi?id=764176
+
+2016-03-25 01:28:18 +0000 Matthew Waters <matthew@centricular.com>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstutils.c:
+ * gst/gstutils.h:
+ * win32/common/libgstreamer.def:
+ utils: expose pad_link_maybe_ghosting
+ This is a useful function to automatically add ghost pads when linking
+ two elements across bin boundaries without know their exact parentage.
+ e.g. when using gst_parse_bin_from_description (with or without it ghosting pads),
+ one can simply retreive the src/sink pads from the bin to link to another pad.
+ Similar functionality is provided by gst_element_link_pads{_full}() however only
+ by pad name rather than by actual pads.
+ API: gst_pad_link_maybe_ghosting_full
+ https://bugzilla.gnome.org/show_bug.cgi?id=764176
+
+2016-04-03 23:35:46 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * docs/design/part-states.txt:
+ docs/design/part-states.txt: spelling fix
+
+2015-05-15 13:36:04 +0100 Mark Combellack <gnome-bugzilla@combellack.net>
+
+ * gst/gstbin.c:
+ * gst/gstbufferpool.c:
+ * gst/gstelement.c:
+ * gst/gstobject.c:
+ * gst/gstpad.c:
+ * gst/gstpipeline.c:
+ GST_REFCOUNTING: Add logging of pointer address for dispose, finalize, etc messages
+ Updated the GST_REFCOUNTING logging so that it includes the pointer
+ address of the object that is being disposed or finalized.
+ With this change is is then possible to match up GST_REFCOUNTING log messages
+ for object allocation/disposal/finalization. This can help with diagnosing
+ "memory leaks" in applications that have not correctly disposed of all the
+ GStreamer objects it creates.
+ https://bugzilla.gnome.org/show_bug.cgi?id=749427
+
+2016-03-31 11:46:03 +0100 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst/gstinfo.c:
+ info: only open log file when adding it to the log function
+ This avoids the leak of opening it and then not passing it or closing it
+ before it goes out of scope.
+
+2016-04-01 22:41:51 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstclock.c:
+ clock: Return FALSE in all paths that don't set out parameters in gst_clock_add_observation_unapplied()
+ It returned TRUE when regression failed, while not setting any of the out
+ parameters. This caused uninitialized data from the stack to be used for
+ setting the clock calibration.
+
+2016-03-24 17:34:20 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * gst/gstpad.c:
+ pad: rework probe's hook_marshall function
+ PUSH and PULL mode have opposite scenarios for IDLE and BLOCK
+ probes.
+ For PUSH it will BLOCK with some data type and IDLE won't have a type.
+ For PULL it will BLOCK before getting some data and will be IDLE when
+ some data is obtained.
+ The check in hook_marshall was specific for PUSH mode and would cause
+ PULL probes to fail to be called. Adding different checks for the mode
+ to fix this issue.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761211
+
+2016-03-24 17:34:40 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/gst/gstpad.c:
+ tests: pad: extra tests for pad pull probes
+ For BUFFER and IDLE probes
+ https://bugzilla.gnome.org/show_bug.cgi?id=761211
+
+2016-01-28 16:22:17 +0100 Matej Knopp <matej.knopp@gmail.com>
+
+ * tests/check/gst/gstpad.c:
+ pad: Add test for blocking pull probe
+ https://bugzilla.gnome.org/show_bug.cgi?id=761211
+
+2016-03-24 12:13:39 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * gst/gstpad.c:
+ pad: consider PROBE_TYPE_EVENT_FLUSH when using PROBE_TYPE_ALL_BOTH
+ When GST_PAD_PROBE_EVENT_FLUSH is used, the probes already have
+ a data type and it is not needed to automatically add the default
+ types.
+ https://bugzilla.gnome.org/show_bug.cgi?id=762330
+
+2016-02-19 16:18:12 +0100 Linus Svensson <linussn@axis.com>
+
+ * tests/check/gst/gstpad.c:
+ gstpad tests: Add a test for flush event only probes
+ https://bugzilla.gnome.org/show_bug.cgi?id=762330
+
+2016-03-26 17:21:51 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstdebugutils.c:
+ debugutils: fix enum/flag properties printing for elements
+ We want to use the flag/enum nicks here, not only because they
+ are shorter but also because in case of element-specific enums
+ and flags we abuse the enum/flag name field for the description,
+ and we don't want that printed in the dot file.
+ https://bugzilla.gnome.org/show_bug.cgi?id=763814
+
+2016-03-23 10:31:46 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gsttrace.c:
+ alloctrace: print size and allocator details for buffers and memories
+
+2016-02-29 19:04:16 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstinfo.c:
+ info: make it possible to remove default log handler before gst_init()
+ Make sure it's not even added then, so that we never output
+ anything via the default log handler then.
+ https://bugzilla.gnome.org/show_bug.cgi?id=751538
+
+2016-03-05 14:27:35 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstmemory.h:
+ * gst/gstminiobject.h:
+ * gst/gsturi.h:
+ miniobject, memory, uri: warn on unused return value of some funcs
+ Make compiler issue a warning for common beginner mistakes such as:
+ ...
+ gst_buffer_make_writable (buf);
+ gst_buffer_map (buf, &map, GST_MAP_WRITE);
+ ...
+ and similar. Only do this for some functions for now.
+
+2016-03-26 11:17:02 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * .gitignore:
+ .gitignore new netclock-replay testing tool binary
+
+2015-10-17 18:01:47 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstregistry.c:
+ registry: allow plugin and feature filter funcs to call registry API
+ Don't keep the registry locked whilst iterating over the plugins
+ or features with a filter function. This would deadlock if the
+ callback tried to access the registry from the function. Instead,
+ make a copy of the feature/plugin list and then filter it without
+ holding the registry lock. This is still considerably faster than
+ the alternative which would be to use a GstIterator.
+ https://bugzilla.gnome.org/show_bug.cgi?id=756738
+
+2016-03-25 12:59:57 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ configure: Remove unneeded parenthesis from AG_GST_CHECK_CHECKS
+
+2016-03-25 12:05:41 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/valve.c:
+ valve: Fix unit test by sending caps before buffers
+ Unexpected critical/warning: gstpad.c:4400:gst_pad_push_data:<'':src> Got data flow before segment event
+ https://bugzilla.gnome.org/show_bug.cgi?id=763753
+
+2016-03-25 10:23:46 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/misc/Makefile.am:
+ netclock: Link the replay example to GIO
+
+2016-03-03 21:45:54 +0530 Arun Raghavan <arun@centricular.com>
+
+ * tests/misc/Makefile.am:
+ * tests/misc/netclock-replay.c:
+ tests: Add some code to replay and analyse netclientclock
+ This takes readings in the form of ...
+ <local_1> <remote_1> <remote_2> <local_2>
+ ... with one observation per line, and then replays it using the
+ netclientclock code.
+ The output is the statistics structure emitted by the netclientclock,
+ which can then be analysed and tuned once we get those readings for
+ potential edge-cases.
+ It should be possible to find some inputs with "bad" data and convert
+ this into a unit test for future tweaks to run against.
+
+2016-03-03 21:44:35 +0530 Arun Raghavan <arun@centricular.com>
+
+ * libs/gst/net/gstnetclientclock.c:
+ netclientclock: Always dump clock observations in logs
+ This makes it possible to examine what values we get in logs, and
+ potentially tune our filtering/extrapolation in various scenarios.
+
+2016-03-16 15:13:39 +0100 Havard Graff <havard.graff@gmail.com>
+
+ * plugins/elements/gstvalve.c:
+ * tests/check/elements/valve.c:
+ valve: don't send sticky events as a direct response to upstream events
+ Also refactor the existing valve test to actually test the valve,
+ and not just test the EOS mechanism of a pad.
+ https://bugzilla.gnome.org/show_bug.cgi?id=763753
+
+2016-03-11 09:23:04 +0100 Carlos Rafael Giani <dv@pseudoterminal.org>
+
+ * gst/gstparse.c:
+ * gst/gstparse.h:
+ * gst/parse/grammar.y:
+ parse-launch: Add flag for placing elements in a bin instead of a pipeline
+ By default, gst_parse_launch_full() creates a GstPipeline if there's more
+ than one toplevel element. Add a flag to let it use a GstBin instead.
+ Also fix the parser to let it use this flag for GST_TYPE_ELEMENT property
+ values, to avoid having GstPipelines inside other GstPipelines.
+ https://bugzilla.gnome.org/show_bug.cgi?id=763457
+
+2016-03-08 19:08:16 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * plugins/elements/gstcapsfilter.c:
+ * plugins/elements/gstcapsfilter.h:
+ capsfilter: optimisation: avoid unnecessary gst_pad_has_current_caps() checks
+ No need to do this for every input buffer, since it involves
+ locking and iterating of the sticky events array and such.
+ https://bugzilla.gnome.org/show_bug.cgi?id=763337
+
+2016-03-03 14:15:00 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * gst/gstpadtemplate.c:
+ * libs/gst/base/gstbasesink.c:
+ * libs/gst/base/gstbasesrc.c:
+ * tests/check/elements/fakesink.c:
+ * tests/check/gst/gstpad.c:
+ * tests/check/gst/gstprotection.c:
+ * tests/check/gst/gstutils.c:
+ * tests/check/libs/baseparse.c:
+ * tests/check/libs/collectpads.c:
+ * tests/check/libs/test_transform.c:
+ * tests/check/pipelines/parse-launch.c:
+ * tests/check/pipelines/seek.c:
+ gstreamer: use new gst_element_class_add_static_pad_template()
+ https://bugzilla.gnome.org/show_bug.cgi?id=763020
+
+2016-03-02 17:47:33 +0100 Edward Hervey <edward@centricular.com>
+
+ * plugins/elements/gstqueue.c:
+ * plugins/elements/gstqueue.h:
+ queue: Use full running time for level calculation
+ Ensures we have proper time level estimation for the cases where
+ the incoming buffers have PTS/DTS outside of the segment start/stop
+ values.
+ https://bugzilla.gnome.org/show_bug.cgi?id=762995
+
+2016-01-27 11:46:06 +0100 Stian Selnes <stian@pexip.com>
+
+ * gst/gstpad.c:
+ pad: Fix race between gst_element_remove_pad and state change
+ When going from READY to NULL all element pads are deactivated. If
+ simultaneously the pad is being removed from the element with
+ gst_element_remove_pad() and the pad is unparented, there is a race
+ where the deactivation will assert (g_critical) if the parent is lost at
+ the wrong time.
+ The proposed fix will check parent only once and retain it to avoid the
+ race.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761912
+
+2016-03-02 21:11:51 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * libs/gst/base/gstcollectpads.c:
+ collectpads: Assume PTS is equal DTS if PTS is missing
+ This is the best guess we can make if such a buffer reached the collect
+ pad. This is uncommon, we do expect parsers to have tried and fixed that
+ if possible (or needed).
+ https://bugzilla.gnome.org/show_bug.cgi?id=762207
+
+2016-03-24 13:32:41 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ Back to development
+
+2016-03-24 11:49:44 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Remove redundant assignment
+ CID 1357158
+
=== release 1.8.0 ===
-2016-03-24 Sebastian Dröge <slomo@coaxion.net>
+2016-03-24 11:49:08 +0200 Sebastian Dröge <sebastian@centricular.com>
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
* configure.ac:
- releasing 1.8.0
+ * docs/plugins/inspect/plugin-coreelements.xml:
+ * gstreamer.doap:
+ * win32/common/config.h:
+ * win32/common/gstversion.h:
+ Release 1.8.0
+
+2016-03-24 11:35:26 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/af.po:
+ * po/az.po:
+ * po/be.po:
+ * po/bg.po:
+ * po/ca.po:
+ * po/cs.po:
+ * po/da.po:
+ * po/de.po:
+ * po/el.po:
+ * po/en_GB.po:
+ * po/eo.po:
+ * po/es.po:
+ * po/eu.po:
+ * po/fi.po:
+ * po/fr.po:
+ * po/gl.po:
+ * po/hr.po:
+ * po/hu.po:
+ * po/id.po:
+ * po/it.po:
+ * po/ja.po:
+ * po/lt.po:
+ * po/nb.po:
+ * po/nl.po:
+ * po/pl.po:
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/ru.po:
+ * po/rw.po:
+ * po/sk.po:
+ * po/sl.po:
+ * po/sq.po:
+ * po/sr.po:
+ * po/sv.po:
+ * po/tr.po:
+ * po/uk.po:
+ * po/vi.po:
+ * po/zh_CN.po:
+ * po/zh_TW.po:
+ Update .po files
2016-03-13 11:05:29 -0400 Anthony G. Basile <blueness@gentoo.org>
diff --git a/NEWS b/NEWS
index ee7f213e5..4c3baabdc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,786 +1 @@
-# GStreamer 1.8 Release Notes
-
-**GStreamer 1.8.0 was released on 24 March 2016.**
-
-The GStreamer team is proud to announce a new major feature release in the
-stable 1.x API series of your favourite cross-platform multimedia framework!
-
-As always, this release is again packed with new features, bug fixes and other
-improvements.
-
-See [https://gstreamer.freedesktop.org/releases/1.8/][latest] for the latest
-version of this document.
-
-*Last updated: Thursday 24 March 2016, 10:00 UTC [(log)][gitlog]*
-
-[latest]: https://gstreamer.freedesktop.org/releases/1.8/
-[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.8/release-notes-1.8.md
-
-## Highlights
-
-- **Hardware-accelerated zero-copy video decoding on Android**
-
-- **New video capture source for Android using the android.hardware.Camera API**
-
-- **Windows Media reverse playback** support (ASF/WMV/WMA)
-
-- **New tracing system** provides support for more sophisticated debugging tools
-
-- **New high-level GstPlayer playback convenience API**
-
-- **Initial support for the new [Vulkan][vulkan] API**, see
- [Matthew Waters' blog post][vulkan-in-gstreamer] for more details
-
-- **Improved Opus audio codec support**: Support for more than two channels; MPEG-TS demuxer/muxer can now handle Opus;
- [sample-accurate][opus-sample-accurate] encoding/decoding/transmuxing with
- Ogg, Matroska, ISOBMFF (Quicktime/MP4), and MPEG-TS as container;
- [new codec utility functions for Opus header and caps handling][opus-codec-utils]
- in pbutils library. The Opus encoder/decoder elements were also moved to
- gst-plugins-base (from -bad), and the opus RTP depayloader/payloader to -good.
-
- [opus-sample-accurate]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta
- [opus-codec-utils]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html
-
-- **GStreamer VAAPI module now released and maintained as part of the GStreamer project**
-
- [vulkan]: https://www.khronos.org/vulkan
- [vulkan-in-gstreamer]: http://ystreet00.blogspot.co.uk/2016/02/vulkan-in-gstreamer.html
-
-## Major new features and changes
-
-### Noteworthy new API, features and other changes
-
-- New GstVideoAffineTransformationMeta meta for adding a simple 4x4 affine
- transformation matrix to video buffers
-
-- [g\_autoptr()](https://developer.gnome.org/glib/stable/glib-Miscellaneous-Macros.html#g-autoptr)
- support for all types is exposed in GStreamer headers now, in combination
- with a sufficiently-new GLib version (i.e. 2.44 or later). This is primarily
- for the benefit of application developers who would like to make use of
- this, the GStreamer codebase itself will not be using g_autoptr() for
- the time being due to portability issues.
-
-- GstContexts are now automatically propagated to elements added to a bin
- or pipeline, and elements now maintain a list of contexts set on them.
- The list of contexts set on an element can now be queried using the new functions
- [gst\_element\_get\_context()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-context)
- and [gst\_element\_get\_contexts()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-contexts). GstContexts are used to share context-specific configuration objects
- between elements and can also be used by applications to set context-specific
- configuration objects on elements, e.g. for OpenGL or Hardware-accelerated
- video decoding.
-
-- New [GST\_BUFFER\_DTS\_OR\_PTS()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#GST-BUFFER-DTS-OR-PTS:CAPS)
- convenience macro that returns the decode timestamp if one is set and
- otherwise returns the presentation timestamp
-
-- New GstPadEventFullFunc that returns a GstFlowReturn instead of a gboolean.
- This new API is mostly for internal use and was added to fix a race condition
- where occasionally internal flow error messages were posted on the bus when
- sticky events were propagated at just the wrong moment whilst the pipeline
- was shutting down. This happened primarily when the pipeline was shut down
- immediately after starting it up. GStreamer would not know that the reason
- the events could not be propagated was because the pipeline was shutting down
- and not some other problem, and now the flow error allows GStreamer to know
- the reason for the failure (and that there's no reason to post an error
- message). This is particularly useful for queue-like elements which may need
- to asynchronously propagate a previous flow return from downstream.
-
-- Pipeline dumps in form of "dot files" now also show pad properties that
- differ from their default value, the same as it does for elements. This is
- useful for elements with pad subclasses that provide additional properties,
- e.g. videomixer or compositor.
-
-- Pad probes are now guaranteed to be called in the order they were added
- (before they were called in reverse order, but no particular order was
- documented or guaranteed)
-
-- Plugins can now have dependencies on device nodes (not just regular files)
- and also have a prefix filter. This is useful for plugins that expose
- features (elements) based on available devices, such as the video4linux
- plugin does with video decoders on certain embedded systems.
-
-- gst\_segment\_to\_position() has been deprecated and been replaced by the
- better-named gst\_segment\_position\_from\_running\_time(). At the same time
- gst\_segment\_position\_from\_stream\_time() was added, as well as \_full()
- variants of both to deal with negative stream time.
-
-- GstController: the interpolation control source gained a new monotonic cubic
- interpolation mode that, unlike the existing cubic mode, will never overshoot
- the min/max y values set.
-
-- GstNetAddressMeta: can now be read from buffers in language bindings as well,
- via the new gst\_buffer\_get\_net\_address\_meta() function
-
-- ID3 tag PRIV frames are now extraced into a new GST\_TAG\_PRIVATE\_DATA tag
-
-- gst-launch-1.0 and gst\_parse\_launch() now warn in the most common case if
- a dynamic pad link could not be resolved, instead of just silently
- waiting to see if a suitable pad appears later, which is often perceived
- by users as hanging -- they are now notified when this happens and can check
- their pipeline.
-
-- GstRTSPConnection now also parses custom RTSP message headers and retains
- them for the application instead of just ignoring them
-
-- rtspsrc handling of authentication over tunneled connections (e.g. RTSP over HTTP)
- was fixed
-
-- gst\_video\_convert\_sample() now crops if there is a crop meta on the input buffer
-
-- The debugging system printf functions are now exposed for general use, which
- supports special printf format specifiers such as GST\_PTR\_FORMAT and
- GST\_SEGMENT\_FORMAT to print GStreamer-related objects. This is handy for
- systems that want to prepare some debug log information to be output at a
- later point in time. The GStreamer-OpenGL subsystem is making use of these
- new functions, which are [gst\_info\_vasprintf()][gst_info_vasprintf],
- [gst\_info\_strdup\_vprintf()][gst_info_strdup_vprintf] and
- [gst\_info\_strdup\_printf()][gst_info_strdup_printf].
-
-- videoparse: "strides", "offsets" and "framesize" properties have been added to
- allow parsing raw data with strides and padding that do not match GStreamer
- defaults.
-
-- GstPreset reads presets from the directories given in GST\_PRESET\_PATH now.
- Presets are read from there after presets in the system path, but before
- application and user paths.
-
-[gst_info_vasprintf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-vasprintf
-[gst_info_strdup_vprintf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-strdup-vprintf
-[gst_info_strdup_printf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-strdup-printf
-
-### New Elements
-
-- [netsim](): a new (resurrected) element to simulate network jitter and
- packet dropping / duplication.
-
-- New VP9 RTP payloader/depayloader elements: rtpvp9pay/rtpvp9depay
-
-- New [videoframe_audiolevel]() element, a video frame synchronized audio level element
-
-- New spandsp-based tone generator source
-
-- New NVIDIA NVENC-based H.264 encoder for GPU-accelerated video encoding on
- suitable NVIDIA hardware
-
-- [rtspclientsink](), a new RTSP RECORD sink element, was added to gst-rtsp-server
-
-- [alsamidisrc](), a new ALSA MIDI sequencer source element
-
-### Noteworthy element features and additions
-
-- *identity*: new ["drop-buffer-flags"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-identity.html#GstIdentity--drop-buffer-flags)
- property to drop buffers based on buffer flags. This can be used to drop all
- non-keyframe buffers, for example.
-
-- *multiqueue*: various fixes and improvements, in particular special handling
- for sparse streams such as substitle streams, to make sure we don't overread
- them any more. For sparse streams it can be normal that there's no buffer for
- a long period of time, so having no buffer queued is perfectly normal. Before
- we would often unnecessarily try to fill the subtitle stream queue, which
- could lead to much more data being queued in multiqueue than necessary.
-
-- *multiqueue*/*queue*: When dealing with time limits, these elements now use the
- new ["GST_BUFFER_DTS_OR_PTS"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#GST-BUFFER-DTS-OR-PTS:CAPS)
- and ["gst_segment_to_running_time_full()"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSegment.html#gst-segment-to-running-time-full)
- API, resulting in more accurate levels, especially when dealing with non-raw
- streams (where reordering happens, and we want to use the increasing DTS as
- opposed to the non-continuously increasing PTS) and out-of-segment input/output.
- Previously all encoded buffers before the segment start, which can happen when
- doing ACCURATE seeks, were not taken into account in the queue level calculation.
-
-- *multiqueue*: New ["use-interleave"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-multiqueue.html#GstMultiQueue--use-interleave)
- property which allows the size of the queues to be optimized based on the input
- streams interleave. This should only be used with input streams which are properly
- timestamped. It will be used in the future decodebin3 element.
-
-- *queue2*: new ["avg-in-rate"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-queue2.html#GstQueue2--avg-in-rate)
- property that returns the average input rate in bytes per second
-
-- audiotestsrc now supports all audio formats and is no longer artificially
- limited with regard to the number of channels or sample rate
-
-- gst-libav (ffmpeg codec wrapper): map and enable JPEG2000 decoder
-
-- multisocketsink can, on request, send a custom GstNetworkMessage event
- upstream whenever data is received from a client on a socket. Similarly,
- socketsrc will, on request, pick up GstNetworkMessage events from downstream
- and send any data contained within them via the socket. This allows for
- simple bidirectional communication.
-
-- matroska muxer and demuxer now support the ProRes video format
-
-- Improved VP8/VP9 decoding performance on multi-core systems by enabling
- multi-threaded decoding in the libvpx-based decoders on such systems
-
-- appsink has a new ["wait-on-eos"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-appsink.html#GstAppSink--wait-on-eos)
- property, so in cases where it is uncertain if an appsink will have a consumer for
- its buffers when it receives an EOS this can be set to FALSE to ensure that the
- appsink will not hang.
-
-- rtph264pay and rtph265pay have a new "config-interval" mode -1 that will
- re-send the setup data (SPS/PPS/VPS) before every keyframe to ensure
- optimal coverage and the shortest possibly start-up time for a new client
-
-- mpegtsmux can now mux H.265/HEVC video as well
-
-- The MXF muxer was ported to 1.x and produces more standard conformant files now
- that can be handled by more other software; The MXF demuxer got improved
- support for seek tables (IndexTableSegments).
-
-### Plugin moves
-
-- The rtph265pay/depay RTP payloader/depayloader elements for H.265/HEVC video
- from the rtph265 plugin in -bad have been moved into the existing rtp plugin
- in gst-plugins-good.
-
-- The mpg123 plugin containing a libmpg123 based audio decoder element has
- been moved from -bad to -ugly.
-
-- The Opus encoder/decoder elements have been moved to gst-plugins-base and
- the RTP payloader to gst-plugins-good, both coming from gst-plugins-bad.
-
-### New tracing tools for developers
-
-A new tracing subsystem API has been added to GStreamer, which provides
-external tracers with the possibility to strategically hook into GStreamer
-internals and collect data that can be evaluated later. These tracers are a
-new type of plugin features, and GStreamer core ships with a few example
-tracers (latency, stats, rusage, log) to start with. Tracers can be loaded
-and configured at start-up via an environment variable (GST\_TRACER\_PLUGINS).
-
-Background: While GStreamer provides plenty of data on what's going on in a
-pipeline via its debug log, that data is not necessarily structured enough to
-be generally useful, and the overhead to enable logging output for all data
-required might be too high in many cases. The new tracing system allows tracers
-to just obtain the data needed at the right spot with as little overhead as
-possible, which will be particularly useful on embedded systems.
-
-Of course it has always been possible to do performance benchmarks and debug
-memory leaks, memory consumption and invalid memory access using standard
-operating system tools, but there are some things that are difficult to track
-with the standard tools, and the new tracing system helps with that. Examples
-are things such as latency handling, buffer flow, ownership transfer of
-events and buffers from element to element, caps negotiation, etc.
-
-For some background on the new tracing system, watch Stefan Sauer's
-GStreamer Conference talk ["A new tracing subsystem for GStreamer"][tracer-0]
-and for a more specific example how it can be useful have a look at
-Thiago Santos's lightning talk ["Analyzing caps negotiation using GstTracer"][tracer-1]
-and his ["GstTracer experiments"][tracer-2] blog post. There was also a Google
-Summer of Code project in 2015 that used tracing system for a graphical
-GStreamer debugging tool ["gst-debugger"][tracer-3].
-
-This is all still very much work in progress, but we hope this will provide the
-foundation for a whole suite of new debugging tools for GStreamer pipelines.
-
-[tracer-0]: https://gstconf.ubicast.tv/videos/a-new-tracing-subsystem-for-gstreamer/
-[tracer-1]: https://gstconf.ubicast.tv/videos/analyzing-caps-negotiation-using-gsttracer/
-[tracer-2]: http://blog.thiagoss.com/2015/07/23/gsttracer-experiments/
-[tracer-3]: https://git.gnome.org/browse/gst-debugger
-
-### GstPlayer: a new high-level API for cross-platform multimedia playback
-
-GStreamer has had reasonably high-level API for multimedia playback
-in the form of the playbin element for a long time. This allowed application
-developers to just configure a URI to play, and playbin would take care of
-everything else. This works well, but there is still way too much to do on
-the application-side to implement a fully-featured playback application, and
-too much general GStreamer pipeline API exposed, making it less accessible
-to application developers.
-
-Enter GstPlayer. GstPlayer's aim is to provide an even higher-level abstraction
-of a fully-featured playback API but specialised for its specific use case. It
-also provides easy integration with and examples for Gtk+, Qt, Android, OS/X,
-iOS and Windows. Watch Sebastian's [GstPlayer talk at the GStreamer Conference][gstplayer-talk]
-for more information, or check out the [GstPlayer API reference][gstplayer-api]
-and [GstPlayer examples][gstplayer-examples].
-
-[gstplayer-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/player.html
-[gstplayer-talk]: https://gstconf.ubicast.tv/videos/gstplayer-a-simple-cross-platform-api-for-all-your-media-playback-needs-part-1/
-[gstplayer-examples]: https://github.com/sdroege/gst-player/
-
-### Adaptive streaming: DASH, HLS and MSS improvements
-
-- dashdemux now supports loading external xml nodes pointed from its MPD.
-
-- Content protection nodes parsing support for PlayReady WRM in mssdemux.
-
-- Reverse playback was improved to respect seek start and stop positions.
-
-- Adaptive demuxers (hlsdemux, dashdemux, mssdemux) now support the SNAP_AFTER
- and SNAP_BEFORE seek flags which will jump to the nearest fragment boundary
- when executing a seek, which means playback resumes more quickly after a seek.
-
-### Audio library improvements
-
-- audio conversion, quantization and channel up/downmixing functionality
- has been moved from the audioconvert element into the audio library and
- is now available as public API in form of [GstAudioConverter][audio-0],
- [GstAudioQuantize][audio-1] and [GstAudioChannelMixer][audio-2].
- Audio resampling will follow in future releases.
-
-- [gst\_audio\_channel\_get\_fallback\_mask()][audio-3] can be used
- to retrieve a default channel mask for a given number of channels as last
- resort if the layout is unknown
-
-- A new [GstAudioClippingMeta][audio-4] meta was added for specifying clipping
- on encoded audio buffers
-
-- A new GstAudioVisualizer base class for audio visualisation elements;
- most of the existing visualisers have been ported over to the new base class.
- This new base class lives in the pbutils library rather than the audio library,
- since we'd have had to make libgstaudio depend on libgstvideo otherwise,
- which was deemed undesirable.
-
-[audio-0]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstAudioConverter.html
-[audio-1]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstAudioQuantize.html
-[audio-2]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-mix-new
-[audio-3]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-get-fallback-mask
-[audio-4]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta
-
-### GStreamer OpenGL support improvements
-
-#### Better OpenGL Shader support
-
-[GstGLShader][shader] has been revamped to allow more OpenGL shader types
-by utilizing a new GstGLSLStage object. Each stage holds an OpenGL pipeline
-stage such as a vertex, fragment or a geometry shader that are all compiled
-separately into a program that is executed.
-
-The glshader element has also received a revamp as a result of the changes in
-the library. It does not take file locations for the vertex and fragment
-shaders anymore. Instead it takes the strings directly leaving the file
-management to the application.
-
-A new [example][liveshader-example] was added utilizing the new shader
-infrastructure showcasing live shader edits.
-
-[shader]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglshader.html
-[liveshader-example]: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/gtk/glliveshader.c
-
-#### OpenGL GLMemory rework
-
-[GstGLMemory] was extensively reworked to support the addition of multiple
-texture targets required for zero-copy integration with the Android
-MediaCodec elements. This work was also used to provide IOSurface based
-GLMemory on OS X for zero-copy with OS X's VideoToolbox decoder (vtdec) and
-AV Foundation video source (avfvideosrc). There are also patches in bugzilla
-for GstGLMemoryEGL specifically aimed at improving the decoding performance on
-the Raspberry Pi.
-
-[GstGLMemory]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglmemory.html
-
-A texture-target field was added to video/x-raw(memory:GLMemory) caps to signal
-the texture target contained in the GLMemory. Its values can be 2D, rectangle
-or external-oes. glcolorconvert can convert between the different formats as
-required and different elements will accept or produce different targets. e.g.
-glimagesink can take and render external-oes textures directly as required for
-effecient zero-copy on android.
-
-A generic GL allocation framework was also implemented to support the generic
-allocation of OpenGL buffers and textures which is used extensively by
-GstGLBufferPool.
-
-#### OpenGL DMABuf import uploader
-
-There is now a DMABuf uploader available for automatic selection that will
-attempt to import the upstream provided DMABuf. The uploader will import into
-2D textures with the necesarry format. YUV to RGB conversion is still provided
-by glcolorconvert to avoid the laxer restrictions with external-oes textures.
-
-#### OpenGL queries
-
-Queries of various aspects of the OpenGL runtime such as timers, number of
-samples or the current timestamp are not possible. The GstGLQuery object uses a
-delayed debug system to delay the debug output to later to avoid expensive calls
-to the glGet\* family of functions directly after finishing a query. It is
-currently used to output the time taken to perform various operations of texture
-uploads and downloads in GstGLMemory.
-
-#### New OpenGL elements
-
-glcolorbalance has been created mirroring the videobalance elements.
-glcolorbalance provides the exact same interface as videobalance so can be used
-as a GPU accelerated replacement. glcolorbalance has been added to glsinkbin so
-usage with playsink/playbin will use it automatically instead of videobalance
-where possible.
-
-glvideoflip, which is the OpenGL equiavalant of videoflip, implements the exact
-same interface and functionality as videoflip.
-
-#### EGL implementation now selects OpenGL 3.x
-
-The EGL implementation can now select OpenGL 3.x contexts.
-
-#### OpenGL API removal
-
-The GstGLDownload library object was removed as it was not used by anything.
-Everything is performed by GstGLMemory or in the gldownloadelement.
-
-The GstGLUploadMeta library object was removed as it was not being used and we
-don't want to promote the use of GstVideoGLTextureUploadMeta.
-
-#### OpenGL: Other miscellaneous changes
-
-- The EGL implementation can now select OpenGL 3.x contexts. This brings
- OpenGL 3.x to e.g. wayland and other EGL systems.
-
-- glstereomix/glstereosplit are now built and are usable on OpenGL ES systems
-
-- The UYVY/YUY2 to RGBA and RGBA to UYVY/YUY2 shaders were fixed removing the
- sawtooth pattern and luma bleeding.
-
-- We now utilize the GL\_APPLE\_sync extension on iOS devices which improves
- performance of OpenGL applications, especially with multiple OpenGL
- contexts.
-
-- glcolorconvert now uses a bufferpool to avoid costly
- glGenTextures/glDeleteTextures for every frame.
-
-- glvideomixer now has full glBlendFunc and glBlendEquation support per input.
-
-- gltransformation now support navigation events so your weird transformations
- also work with DVD menus.
-
-- qmlglsink can now run on iOS, OS X and Android in addition to the already
- supported Linux platform.
-
-- glimagesink now posts unhandled keyboard and mouse events (on backends that
- support user input, current only X11) on the bus for the application.
-
-### Initial GStreamer Vulkan support
-
-Some new elements, vulkansink and vulkanupload have been implemented utilizing
-the new Vulkan API. The implementation is currently limited to X11 platforms
-(via xcb) and does not perform any scaling of the stream's contents to the size
-of the available output.
-
-A lot of infrasctructure work has been undertaken to support using Vulkan in
-GStreamer in the future. A number of GstMemory subclasses have been created for
-integrating Vulkan's GPU memory handling along with VkBuffer's and VkImage's
-that can be passed between elements. Some GStreamer refcounted wrappers for
-global objects such as VkInstance, VkDevice, VkQueue, etc have also been
-implemented along with GstContext integration for sharing these objects with the
-application.
-
-### GStreamer VAAPI support for hardware-accelerated video decoding and encoding on Intel (and other) platforms
-
-#### GStreamer VAAPI is now part of upstream GStreamer
-
-The GStreamer-VAAPI module which provides support for hardware-accelerated
-video decoding, encoding and post-processing on Intel graphics hardware
-on Linux has moved from its previous home at the [Intel Open Source Technology Center][iostc]
-to the upstream GStreamer repositories, where it will in future be maintained
-as part of the upstream GStreamer project and released in lockstep with the
-other GStreamer modules. The current maintainers will continue to spearhead
-the development at the new location:
-
-[http://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/][gst-vaapi-git]
-
-[gst-vaapi-git]: http://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/
-
-GStreamer-VAAPI relies heavily on certain GStreamer infrastructure API that
-is still in flux such as the OpenGL integration API or the codec parser
-libraries, and one of the goals of the move was to be able to leverage
-new developments early and provide tighter integration with the latest
-developments of those APIs and other graphics-related APIs provided by
-GStreamer, which should hopefully improve performance even further and in
-some cases might also provide better stability.
-
-Thanks to everyone involved in making this move happen!
-
-#### GStreamer VAAPI: Bug tracking
-
-Bugs had already been tracked on [GNOME bugzilla](bgo) but will be moved
-from the gstreamer-vaapi product into a new gstreamer-vaapi component of
-the GStreamer product in bugzilla. Please file new bugs against the new
-component in the GStreamer product from now on.
-
-#### GStreamer VAAPI: Pending patches
-
-The code base has been re-indented to the GStreamer code style, which
-affected some files more than others. This means that some of the patches
-in bugzilla might not apply any longer, so if you have any unmerged patches
-sitting in bugzilla please consider checking if they still apply cleany and
-refresh them if not. Sorry for any inconvenience this may cause.
-
-#### GStreamer VAAPI: New versioning scheme and supported GStreamer versions
-
-The version numbering has been changed to match the GStreamer version
-numbering to avoid confusion: there is a new gstreamer-vaapi 1.6.0 release
-and a 1.6 branch that is roughly equivalent to the previous 0.7.0 version.
-Future releases 1.7.x and 1.8.x will be made alongside GStreamer releases.
-
-While it was possible and supported by previous releases to build against
-a whole range of different GStreamer versions (such as 1.2, 1.4, 1.6 or 1.7/1.8),
-in the future there will only be one target branch, so that git master will
-track GStreamer git master, 1.8.x will target GStreamer 1.8, and
-1.6.x will target the 1.6 series.
-
-[iostc]: http://01.org
-[bgo]: http://bugzilla.gnome.og
-
-#### GStreamer VAAPI: Miscellaneous changes
-
-All GStreamer-VAAPI functionality is now provided solely by its GStreamer
-elements. There is no more public library exposing GstVaapi API, this API
-was only ever meant for private use by the elements. Parts of it may be
-resurrected again in future if needed, but for now it has all been made
-private.
-
-GStreamer-VAAPI now unconditionally uses the codecparser library in
-gst-plugins-bad instead of shipping its own internal copy. Similarly,
-it no longer ships its own codec parsers but relies on the upstream
-codec parser elements.
-
-The GStreamer-VAAPI encoder elements have been renamed from vaapiencode_foo
-to vaapifooenc, so encoders are now called vaapih264enc, vaapih265enc,
-vaapimpeg2enc, vaapijpegenc, and vaapivp8enc. With this change we now follow
-the standard names in GStreamer, and the plugin documentation is generated
-correctly.
-
-In the case of the decoders, only the jpeg decoder has been split from the
-general decoding element vaapidecode: vaapijpegdec. This is the first step to
-split per codec each decoding element. The vaapijpegdec has also been given
-marginal rank for the time being.
-
-#### GStreamer VAAPI: New features in 1.8: 10-bit H.265/HEVC decoding support
-
-Support for decoding 10-bit H.265/HEVC has been added. For the time being
-this only works in combination with vaapisink though, until support for the
-P010 video format used internally is added to GStreamer and to the
-vaGetImage()/vaPutimage() API in the vaapi-intel-driver.
-
-Several fixes for memory leaks, build errors, and in the internal
-video parsing.
-
-Finally, vaapisink now posts the unhandled keyboard and mouse events to the
-application.
-
-### GStreamer Video 4 Linux Support
-
-Colorimetry support has been enhanced even more. It will now properly select
-default values when not specified by the driver. The range of color formats
-supported by GStreamer has been greatly improved. Notably, support for
-multi-planar I420 has been added along with all the new and non-ambiguous RGB
-formats that got added in recent kernels.
-
-The device provider now exposes a variety of properties as found in the udev
-database.
-
-The video decoder is now able to negotiate the downstream format.
-
-Elements that are dynamically created from /dev/video\* now track changes on
-these devices to ensure the registry stay up to date.
-
-All this and various bug fixes that improve both stability and correctness.
-
-### GStreamer Editing Services
-
-Added APIs to handle asset proxying support. Proxy creation is not the
-responsibility of GES itself, but GES provides all the needed features
-for it to be cleanly handled at a higher level.
-
-Added support for changing playback rate. This means that now, whenever a
-user adds a 'pitch' element (as it is the only known element to change playback
-rate through properties), GES will handle everything internally. This change
-introduced a new media-duration-factor property in NleObject which will
-lead to tweaking of seek events so they have the proper playback range to be
-requested upstream.
-
-Construction of NLE objects has been reworked making copy/pasting fully
-functional and allowing users to set properties on effects right after
-creating them.
-
-Rework of the title source to add more flexibility in text positioning,
-and letting the user get feedback about rendered text positioning.
-
-Report nlecomposition structural issues (coming from user programing mistakes)
-into ERROR messages on the bus.
-
-Add GI/pythyon testsuite in GES itself, making sure the API is working as expected
-in python, and allowing writing tests faster.
-
-### GstValidate
-
-Added support to run tests inside gdb.
-
-Added a 'smart' reporting mode where we give as much information as possible about
-critical errors.
-
-Uses GstTracer now instead of a LD\_PRELOAD library.
-
-## Miscellaneous
-
-- encodebin now works with "encoder-muxers" such as wavenc
-
-- gst-play-1.0 acquired a new keyboard shortcut: '0' seeks back to the start
-
-- gst-play-1.0 supports two new command line switches: -v for verbose output
- and --flags to configure the playbin flags to use.
-
-## Build and Dependencies
-
-- The GLib dependency requirement was bumped to 2.40
-
-- The -Bsymbolic configure check now works with clang as well
-
-- ffmpeg is now required as libav provider, incompatible changes were
- introduced that make it no longer viable to support both FFmpeg and Libav
- as libav providers. Most major distros have switched to FFmpeg or are in
- the process of switching to it anyway, so we don't expect this to be a
- problem, and there is still an internal copy of ffmpeg that can be used
- as fallback if needed.
-
-- The internal ffmpeg snapshot is now FFMpeg 3.0, but it should be possible
- to build against 2.8 as well for the time being.
-
-## Platform-specific improvements
-
-### Android
-
-- Zero-copy video decoding on Android using the hardware-accelerated decoders
- has been implemented, and is fully integrated with the GStreamer OpenGL stack
-
-- ahcsrc, a new camera source element, has been merged and can be used to
- capture video on android devices. It uses the android.hardware.Camera Java
- API to capture from the system's cameras.
-
-- The OpenGL-based QML video sink can now also be used on Android
-
-- New tinyalsasink element, which is mainly useful for Android but can also
- be used on other platforms.
-
-### OS/X and iOS
-
-- The system clock now uses mach\_absolute\_time() on OSX/iOS, which is
- the preferred high-resolution monotonic clock to be used on Apple platforms
-
-- The OpenGL-based QML video sink can now also be used on OS X and iOS (with
- some Qt build system massaging)
-
-- New IOSurface based memory implementation in avfvideosrc and vtdec on OS X
- for zerocopy with OpenGL. The previously used OpenGL extension
- GL_APPLE_ycbcr_422 is not compatible with GL 3.x core contexts.
-
-- New GstAppleCoreVideoMemory wrapping CVPixelBuffer's
-
-- avfvideosrc now supports renegotiation.
-
-### Windows
-
-- Various bugs with UDP and multicast were fixed on Windows, mostly related to
- gst-rtsp-server.
-
-- A few bugs in directsoundsrc and directsoundsink were fixed that could cause
- the element to lock up. Also the "mute" property on the sink was fixed, and
- a new "device" property for device selection was added to the source.
-
-## Known Issues
-
-- Building GStreamer applications with the Android NDK r11 is currently not
- supported due to incompatible changes in the NDK. This is expected to be
- fixed for 1.8.1.
- [Bugzilla #763999](https://bugzilla.gnome.org/show_bug.cgi?id=763999)
-
-- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit
- Windows is unaffected.
- [Bugzilla #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663)
-
-## Contributors
-
-Adam Miartus, Alban Bedel, Aleix Conchillo Flaqué, Aleksander Wabik,
-Alessandro Decina, Alex Ashley, Alex Dizengof, Alex Henrie, Alistair Buxton,
-Andreas Cadhalpun, Andreas Frisch, André Draszik, Anthony G. Basile,
-Antoine Jacoutot, Anton Bondarenko, Antonio Ospite, Arjen Veenhuizen,
-Arnaud Vrac, Arun Raghavan, Athanasios Oikonomou, Aurélien Zanelli, Ben Iofel,
-Bob Holcomb, Branko Subasic, Carlos Rafael Giani, Chris Bass, Csaba Toth,
-Daniel Kamil Kozar, Danilo Cesar Lemes de Paula, Dave Craig, David Fernandez,
-David Schleef, David Svensson Fors, David Waring, David Wu, Duncan Palmer,
-Edward Hervey, Egor Zaharov, Etienne Peron, Eunhae Choi, Evan Callaway,
-Evan Nemerson, Fabian Orccon, Florent Thiéry, Florin Apostol, Frédéric Wang,
-George Kiagiadakis, George Yunaev, Göran Jönsson, Graham Leggett,
-Guillaume Desmottes, Guillaume Marquebielle, Haihua Hu, Havard Graff,
-Heinrich Fink, Holger Kaelberer, HoonHee Lee, Hugues Fruchet, Hyunil Park,
-Hyunjun Ko, Ilya Konstantinov, James Stevenson, Jan Alexander Steffens (heftig),
-Jan Schmidt, Jason Litzinger, Jens Georg, Jimmy Ohn, Joan Pau Beltran,
-Joe Gorse, John Chang, John Slade, Jose Antonio Santos Cadenas, Josep Torra,
-Julian Bouzas, Julien Isorce, Julien Moutte, Justin Kim, Kazunori Kobayashi,
-Koop Mast, Lim Siew Hoon, Linus Svensson, Lubosz Sarnecki, Luis de Bethencourt,
-Lukasz Forynski, Manasa Athreya, Marcel Holtmann, Marcin Kolny, Marcus Prebble,
-Mark Nauwelaerts, Maroš Ondrášek, Martin Kelly, Matej Knopp, Mathias Hasselmann,
-Mathieu Duponchelle, Matt Crane, Matthew Marsh, Matthew Waters, Matthieu Bouron,
-Mersad Jelacic, Michael Olbrich, Miguel París Díaz, Mikhail Fludkov,
-Mischa Spiegelmock, Nicola Murino, Nicolas Dufresne, Nicolas Huet,
-Nirbheek Chauhan, Ognyan Tonchev, Olivier Crête, Pablo Anton, Pankaj Darak,
-Paolo Pettinato, Patricia Muscalu, Paul Arzelier, Pavel Bludov, Perry Hung,
-Peter Korsgaard, Peter Seiderer, Petr Viktorin, Philippe Normand,
-Philippe Renon, Philipp Zabel, Philip Van Hoof, Philip Withnall, Piotr Drąg,
-plamot, Polochon\_street, Prashant Gotarne, Rajat Verma, Ramiro Polla,
-Ravi Kiran K N, Reynaldo H. Verdejo Pinochet, Robert Swain, Romain Picard,
-Roman Nowicki, Ross Burton, Ryan Hendrickson, Santiago Carot-Nemesio,
-Scott D Phillips, Sebastian Dröge, Sebastian Rasmussen, Sergey Borovkov,
-Seungha Yang, Sjors Gielen, Song Bing, Sreerenj Balachandran, Srimanta Panda,
-Stavros Vagionitis, Stefan Sauer, Steven Hoving, Stian Selnes, Suhwang Kim,
-Thiago Santos, Thibault Saunier, Thijs Vermeir, Thomas Bluemel, Thomas Roos,
-Thomas Vander Stichele, Tim-Philipp Müller, Tim Sheridan, Ting-Wei Lan,
-Tom Deseyn, Vanessa Chipirrás Navalón, Víctor Manuel Jáquez Leal,
-Vincent Dehors, Vincent Penquerc'h, Vineeth T M, Vivia Nikolaidou,
-Wang Xin-yu (王昕宇), William Manley, Wim Taymans, Wonchul Lee, Xavi Artigas,
-Xavier Claessens, Youness Alaoui,
-
-... and many others who have contributed bug reports, translations, sent
-suggestions or helped testing.
-
-## Bugs fixed in 1.8
-
-More than [~700 bugs][bugs-fixed-in-1.8] have been fixed during
-the development of 1.8.
-
-This list does not include issues that have been cherry-picked into the
-stable 1.6 branch and fixed there as well, all fixes that ended up in the
-1.6 branch are also included in 1.8.
-
-This list also does not include issues that have been fixed without a bug
-report in bugzilla, so the actual number of fixes is much higher.
-
-[bugs-fixed-in-1.8]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=107311&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.6.1&target_milestone=1.6.2&target_milestone=1.6.3&target_milestone=1.7.0&target_milestone=1.7.1&target_milestone=1.7.2&target_milestone=1.7.3&target_milestone=1.7.4&target_milestone=1.7.90&target_milestone=1.7.91&target_milestone=1.7.92&target_milestone=1.7.x&target_milestone=1.8.0
-
-## Stable 1.8 branch
-
-After the 1.8.0 release there will be several 1.8.x bug-fix releases which
-will contain bug fixes which have been deemed suitable for a stable branch,
-but no new features or intrusive changes will be added to a bug-fix release
-usually. The 1.8.x bug-fix releases will be made from the git 1.8 branch, which
-is a stable branch.
-
-### 1.8.0
-
-1.8.0 was released on 24 March 2016.
-
-### 1.8.1
-
-The first 1.8 bug-fix release (1.8.1) is planned for April 2016.
-
-## Schedule for 1.10
-
-Our next major feature release will be 1.10, and 1.9 will be the unstable
-development version leading up to the stable 1.10 release. The development
-of 1.9/1.10 will happen in the git master branch.
-
-The plan for the 1.10 development cycle is yet to be confirmed, but it is
-expected that feature freeze will be around late July or early August,
-followed by several 1.9 pre-releases and the new 1.10 stable release
-in September.
-
-1.10 will be backwards-compatible to the stable 1.8, 1.6, 1.4, 1.2 and 1.0
-release series.
-
-- - -
-
-*These release notes have been prepared by Tim-Philipp Müller with
-contributions from Sebastian Dröge, Nicolas Dufresne, Edward Hervey, Víctor
-Manuel Jáquez Leal, Arun Raghavan, Thiago Santos, Thibault Saunier, Jan
-Schmidt and Matthew Waters.*
-
-*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)*
+This is GStreamer 1.9.1
diff --git a/RELEASE b/RELEASE
index b82f4b9bc..ae09a63b8 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,15 +1,15 @@
-Release notes for GStreamer 1.8.0
+Release notes for GStreamer 1.9.1
-The GStreamer team is pleased to announce the first release of the new stable
-1.8 release series. The 1.8 release series is adding new features on top of
-the 1.0, 1.2, 1.4 and 1.6 series and is part of the API and ABI-stable 1.x
-release series of the GStreamer multimedia framework.
+The GStreamer team is pleased to announce the first release of the unstable
+1.9 release series. The 1.9 release series is adding new features on top of
+the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.9 release series
+will lead to the stable 1.10 release series in the next weeks. Any newly added
+API can still change until that point.
-Binaries for Android, iOS, Mac OS X and Windows will be provided shortly after
-the source release by the GStreamer project during the stable 1.8 release
-series.
+Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
This module, gstreamer, only contains core functionality.
@@ -35,10 +35,51 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
Bugs fixed in this release
- * 763491 : typefind: behavior has changed on have-type signal, sets pad caps after signal handlers
- * 763895 : Incorrect gir annotation on gst_element_query_convert
- * 764034 : preset: Use GST_PRESET_PATH as an extension of the system path, not a replacement of the user path
- * 763770 : multiqueue: not-linked pads might not drain out at EOS
+ * 623469 : Unit test failures with CK_FORK=no make check
+ * 747954 : osx: fix libcheck and " make check " builds with clang
+ * 749427 : Dispose/finalize GST_REFCOUNTING log messages missing poitner of object being disposed/finalized
+ * 750397 : CRITICAL: Race condition in GstBus
+ * 751538 : info: gst_debug_log_default() function can't be removed before gst_init()
+ * 756738 : gst_registry_plugin_filter() and gst_registry_feature_filter() callbacks can't use any API using the registry
+ * 758960 : New GstStream API and decodebin3/playbin3
+ * 761211 : pad: blocking pull probe during pull_range doesn't work
+ * 763020 : gstreamer: use new gst_element_class_add_static_pad_template()
+ * 763142 : API: add async property change notification - gst_element_add_property_notify_watch()
+ * 763337 : capsfilter: remove unnecessary gst_pad_has_current_caps() calls for each buffer
+ * 763457 : gstparse: element properties are contained in a GstPipeline instead of a GstBin
+ * 763567 : libcompat.h: strsignal() should not be declared const
+ * 763762 : crash due to gst_iterator_fold which lacks error handling.
+ * 763814 : dot files: fix enum properties
+ * 764176 : expose pad_link_maybe_ghosting
+ * 764199 : tests: plugin: improve debug message
+ * 764311 : gstinfo: fix file descriptor leak when default log function is not added
+ * 764526 : Build broken with gcc 6.0
+ * 764985 : rusage tracer: crash when freeing memory
+ * 764999 : multiqueue: catch errors and flushing after locking
+ * 765052 : tracer: add (mini) object leak tracer
+ * 765212 : allocator: clean up allocators in gst_deinit()
+ * 765540 : gst_element_base_class_finalize() is never called
+ * 765606 : Add caps and capsfeatures cleanup functions
+ * 765719 : pad: fix buffer leaks in test
+ * 765720 : bin: fix leaks in unit test
+ * 765736 : multiqueue: playback with sparse stream deadlocks
+ * 765903 : fix various leaks in tests
+ * 765904 : deviceproviderfactory: fix factory leak
+ * 765957 : inspect: feature leak
+ * 765958 : uri: don't use _gst_uri_free() directly
+ * 765976 : factory leak in parse-launch test
+ * 765978 : miniobject: fix ref count leaks in tests
+ * 766008 : (mini)object: add flag marking " leaked " objects
+ * 766251 : gstdebugutils: fix warning on enum properties printing
+ * 766360 : pad: Don't drop LATENCY queries with default implementation
+ * 766647 : adapter: Add a method to query current offset
+ * 766666 : patch: make git-update.sh build with all cores available
+ * 766795 : baseparse: Make sure DISCONT flags are properly propagated
+ * 766923 : object: Notify name change when using _set_name()
+ * 767012 : object: leak in test_fake_object_name
+ * 767463 : windows static build broken (regression)
+ * 767979 : GstBufferPool: acquire_buffer has unsafe GstPoll usage
+ * 768439 : baseparse: Don't add calculated bitrates until threshold
==== Download ====
@@ -75,10 +116,34 @@ subscribe to the gstreamer-devel list.
Contributors to this release
+ * Alex Ashley
* Anthony G. Basile
- * Aurélien Zanelli
- * Ben Iofel
+ * Arun Raghavan
+ * Carlos Rafael Giani
+ * Danilo Cesar Lemes de Paula
+ * Edward Hervey
+ * Francisco Velazquez
+ * Guillaume Desmottes
+ * Havard Graff
+ * Jan Alexander Steffens (heftig)
* Jan Schmidt
- * Romain Picard
+ * Julien Isorce
+ * Linus Svensson
+ * Luis de Bethencourt
+ * Mark Combellack
+ * Matej Knopp
+ * Matthew Gruenke
+ * Matthew Waters
+ * Nicolas Dufresne
+ * Nirbheek Chauhan
+ * Ray Strode
+ * Reynaldo H. Verdejo Pinochet
* Sebastian Dröge
+ * Stefan Sauer
+ * Stian Selnes
+ * Thiago Santos
+ * Tim-Philipp Müller
+ * Vincent Penquerc'h
+ * Vineeth TM
+ * Wonchul Lee
  \ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 6aa06e326..451f0eb64 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, git and prerelease does Werror too
dnl
-AC_INIT([GStreamer],[1.9.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
+AC_INIT([GStreamer],[1.9.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
AG_GST_INIT
dnl initialize automake (we require GNU make)
@@ -62,7 +62,7 @@ dnl 1.2.5 => 205
dnl 1.10.9 (who knows) => 1009
dnl
dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 900, 0, 900)
+AS_LIBTOOL(GST, 901, 0, 901)
dnl *** autotools stuff ****
diff --git a/docs/plugins/gstreamer-plugins.hierarchy b/docs/plugins/gstreamer-plugins.hierarchy
index 480fce127..9c56b9626 100644
--- a/docs/plugins/gstreamer-plugins.hierarchy
+++ b/docs/plugins/gstreamer-plugins.hierarchy
@@ -47,6 +47,7 @@ GObject
GstTaskPool
GstTracer
GstLatencyTracer
+ GstLeaksTracer
GstLogTracer
GstRUsageTracer
GstStatsTracer
diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml
index 2307af311..cc6e79876 100644
--- a/docs/plugins/inspect/plugin-coreelements.xml
+++ b/docs/plugins/inspect/plugin-coreelements.xml
@@ -3,10 +3,10 @@
<description>GStreamer core elements</description>
<filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
<basename>libgstcoreelements.so</basename>
- <version>1.9.0.1</version>
+ <version>1.9.1</version>
<license>LGPL</license>
<source>gstreamer</source>
- <package>GStreamer git</package>
+ <package>GStreamer source release</package>
<origin>Unknown package origin</origin>
<elements>
<element>
diff --git a/gstreamer.doap b/gstreamer.doap
index 9a2082887..03e1c48cc 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,6 +40,16 @@ hierarchy, and a set of media-agnostic core elements.
<release>
<Version>
+ <revision>1.9.1</revision>
+ <branch>master</branch>
+ <name></name>
+ <created>2016-06-06</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.9.1.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.8.0</revision>
<branch>master</branch>
<name></name>
diff --git a/win32/common/config.h b/win32/common/config.h
index 3571ec860..9b60f8e24 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -68,7 +68,7 @@
#define GST_PACKAGE_ORIGIN "Unknown package origin"
/* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2016-03-24"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-06-06"
/* Define if static plugins should be built */
#undef GST_PLUGIN_BUILD_STATIC
@@ -462,7 +462,7 @@
#define PACKAGE_NAME "GStreamer"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer 1.8.0"
+#define PACKAGE_STRING "GStreamer 1.9.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gstreamer"
@@ -471,7 +471,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.8.0"
+#define PACKAGE_VERSION "1.9.1"
/* directory where plugins are located */
#ifdef _DEBUG
@@ -515,7 +515,7 @@
#undef USE_POISONING
/* Version number of package */
-#define VERSION "1.8.0"
+#define VERSION "1.9.1"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/win32/common/gstenumtypes.c b/win32/common/gstenumtypes.c
index 757bc6b96..8b0d16000 100644
--- a/win32/common/gstenumtypes.c
+++ b/win32/common/gstenumtypes.c
@@ -13,6 +13,8 @@ gst_object_flags_get_type (void)
{
static gsize id = 0;
static const GFlagsValue values[] = {
+ {C_FLAGS (GST_OBJECT_FLAG_MAY_BE_LEAKED), "GST_OBJECT_FLAG_MAY_BE_LEAKED",
+ "may-be-leaked"},
{C_FLAGS (GST_OBJECT_FLAG_LAST), "GST_OBJECT_FLAG_LAST", "last"},
{0, NULL, NULL}
};
@@ -606,6 +608,8 @@ gst_event_type_get_type (void)
{C_ENUM (GST_EVENT_STREAM_START), "GST_EVENT_STREAM_START", "stream-start"},
{C_ENUM (GST_EVENT_CAPS), "GST_EVENT_CAPS", "caps"},
{C_ENUM (GST_EVENT_SEGMENT), "GST_EVENT_SEGMENT", "segment"},
+ {C_ENUM (GST_EVENT_STREAM_COLLECTION), "GST_EVENT_STREAM_COLLECTION",
+ "stream-collection"},
{C_ENUM (GST_EVENT_TAG), "GST_EVENT_TAG", "tag"},
{C_ENUM (GST_EVENT_BUFFERSIZE), "GST_EVENT_BUFFERSIZE", "buffersize"},
{C_ENUM (GST_EVENT_SINK_MESSAGE), "GST_EVENT_SINK_MESSAGE", "sink-message"},
@@ -621,6 +625,8 @@ gst_event_type_get_type (void)
{C_ENUM (GST_EVENT_STEP), "GST_EVENT_STEP", "step"},
{C_ENUM (GST_EVENT_RECONFIGURE), "GST_EVENT_RECONFIGURE", "reconfigure"},
{C_ENUM (GST_EVENT_TOC_SELECT), "GST_EVENT_TOC_SELECT", "toc-select"},
+ {C_ENUM (GST_EVENT_SELECT_STREAMS), "GST_EVENT_SELECT_STREAMS",
+ "select-streams"},
{C_ENUM (GST_EVENT_CUSTOM_UPSTREAM), "GST_EVENT_CUSTOM_UPSTREAM",
"custom-upstream"},
{C_ENUM (GST_EVENT_CUSTOM_DOWNSTREAM), "GST_EVENT_CUSTOM_DOWNSTREAM",
@@ -644,18 +650,20 @@ gst_event_type_get_type (void)
}
GType
-gst_qos_type_get_type (void)
+gst_stream_flags_get_type (void)
{
static gsize id = 0;
- static const GEnumValue values[] = {
- {C_ENUM (GST_QOS_TYPE_OVERFLOW), "GST_QOS_TYPE_OVERFLOW", "overflow"},
- {C_ENUM (GST_QOS_TYPE_UNDERFLOW), "GST_QOS_TYPE_UNDERFLOW", "underflow"},
- {C_ENUM (GST_QOS_TYPE_THROTTLE), "GST_QOS_TYPE_THROTTLE", "throttle"},
+ static const GFlagsValue values[] = {
+ {C_FLAGS (GST_STREAM_FLAG_NONE), "GST_STREAM_FLAG_NONE", "none"},
+ {C_FLAGS (GST_STREAM_FLAG_SPARSE), "GST_STREAM_FLAG_SPARSE", "sparse"},
+ {C_FLAGS (GST_STREAM_FLAG_SELECT), "GST_STREAM_FLAG_SELECT", "select"},
+ {C_FLAGS (GST_STREAM_FLAG_UNSELECT), "GST_STREAM_FLAG_UNSELECT",
+ "unselect"},
{0, NULL, NULL}
};
if (g_once_init_enter (&id)) {
- GType tmp = g_enum_register_static ("GstQOSType", values);
+ GType tmp = g_flags_register_static ("GstStreamFlags", values);
g_once_init_leave (&id, tmp);
}
@@ -663,20 +671,18 @@ gst_qos_type_get_type (void)
}
GType
-gst_stream_flags_get_type (void)
+gst_qos_type_get_type (void)
{
static gsize id = 0;
- static const GFlagsValue values[] = {
- {C_FLAGS (GST_STREAM_FLAG_NONE), "GST_STREAM_FLAG_NONE", "none"},
- {C_FLAGS (GST_STREAM_FLAG_SPARSE), "GST_STREAM_FLAG_SPARSE", "sparse"},
- {C_FLAGS (GST_STREAM_FLAG_SELECT), "GST_STREAM_FLAG_SELECT", "select"},
- {C_FLAGS (GST_STREAM_FLAG_UNSELECT), "GST_STREAM_FLAG_UNSELECT",
- "unselect"},
+ static const GEnumValue values[] = {
+ {C_ENUM (GST_QOS_TYPE_OVERFLOW), "GST_QOS_TYPE_OVERFLOW", "overflow"},
+ {C_ENUM (GST_QOS_TYPE_UNDERFLOW), "GST_QOS_TYPE_UNDERFLOW", "underflow"},
+ {C_ENUM (GST_QOS_TYPE_THROTTLE), "GST_QOS_TYPE_THROTTLE", "throttle"},
{0, NULL, NULL}
};
if (g_once_init_enter (&id)) {
- GType tmp = g_flags_register_static ("GstStreamFlags", values);
+ GType tmp = g_enum_register_static ("GstQOSType", values);
g_once_init_leave (&id, tmp);
}
@@ -883,6 +889,12 @@ gst_message_type_get_type (void)
"device-added"},
{C_FLAGS (GST_MESSAGE_DEVICE_REMOVED), "GST_MESSAGE_DEVICE_REMOVED",
"device-removed"},
+ {C_FLAGS (GST_MESSAGE_PROPERTY_NOTIFY), "GST_MESSAGE_PROPERTY_NOTIFY",
+ "property-notify"},
+ {C_FLAGS (GST_MESSAGE_STREAM_COLLECTION), "GST_MESSAGE_STREAM_COLLECTION",
+ "stream-collection"},
+ {C_FLAGS (GST_MESSAGE_STREAMS_SELECTED), "GST_MESSAGE_STREAMS_SELECTED",
+ "streams-selected"},
{C_FLAGS (GST_MESSAGE_ANY), "GST_MESSAGE_ANY", "any"},
{0, NULL, NULL}
};
@@ -1050,6 +1062,8 @@ gst_mini_object_flags_get_type (void)
"lockable"},
{C_FLAGS (GST_MINI_OBJECT_FLAG_LOCK_READONLY),
"GST_MINI_OBJECT_FLAG_LOCK_READONLY", "lock-readonly"},
+ {C_FLAGS (GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED),
+ "GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED", "may-be-leaked"},
{C_FLAGS (GST_MINI_OBJECT_FLAG_LAST), "GST_MINI_OBJECT_FLAG_LAST", "last"},
{0, NULL, NULL}
};
@@ -1650,6 +1664,29 @@ gst_segment_flags_get_type (void)
return (GType) id;
}
+/* enumerations from "gststreams.h" */
+GType
+gst_stream_type_get_type (void)
+{
+ static gsize id = 0;
+ static const GFlagsValue values[] = {
+ {C_FLAGS (GST_STREAM_TYPE_UNKNOWN), "GST_STREAM_TYPE_UNKNOWN", "unknown"},
+ {C_FLAGS (GST_STREAM_TYPE_AUDIO), "GST_STREAM_TYPE_AUDIO", "audio"},
+ {C_FLAGS (GST_STREAM_TYPE_VIDEO), "GST_STREAM_TYPE_VIDEO", "video"},
+ {C_FLAGS (GST_STREAM_TYPE_CONTAINER), "GST_STREAM_TYPE_CONTAINER",
+ "container"},
+ {C_FLAGS (GST_STREAM_TYPE_TEXT), "GST_STREAM_TYPE_TEXT", "text"},
+ {0, NULL, NULL}
+ };
+
+ if (g_once_init_enter (&id)) {
+ GType tmp = g_flags_register_static ("GstStreamType", values);
+ g_once_init_leave (&id, tmp);
+ }
+
+ return (GType) id;
+}
+
/* enumerations from "gstsystemclock.h" */
GType
gst_clock_type_get_type (void)
@@ -1994,6 +2031,8 @@ gst_parse_flags_get_type (void)
"fatal-errors"},
{C_FLAGS (GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS),
"GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS", "no-single-element-bins"},
+ {C_FLAGS (GST_PARSE_FLAG_PLACE_IN_BIN), "GST_PARSE_FLAG_PLACE_IN_BIN",
+ "place-in-bin"},
{0, NULL, NULL}
};
diff --git a/win32/common/gstenumtypes.h b/win32/common/gstenumtypes.h
index bfe9a01d3..08d16c595 100644
--- a/win32/common/gstenumtypes.h
+++ b/win32/common/gstenumtypes.h
@@ -79,10 +79,10 @@ GType gst_event_type_flags_get_type (void);
#define GST_TYPE_EVENT_TYPE_FLAGS (gst_event_type_flags_get_type())
GType gst_event_type_get_type (void);
#define GST_TYPE_EVENT_TYPE (gst_event_type_get_type())
-GType gst_qos_type_get_type (void);
-#define GST_TYPE_QOS_TYPE (gst_qos_type_get_type())
GType gst_stream_flags_get_type (void);
#define GST_TYPE_STREAM_FLAGS (gst_stream_flags_get_type())
+GType gst_qos_type_get_type (void);
+#define GST_TYPE_QOS_TYPE (gst_qos_type_get_type())
/* enumerations from "gstformat.h" */
GType gst_format_get_type (void);
@@ -186,6 +186,10 @@ GType gst_seek_flags_get_type (void);
GType gst_segment_flags_get_type (void);
#define GST_TYPE_SEGMENT_FLAGS (gst_segment_flags_get_type())
+/* enumerations from "gststreams.h" */
+GType gst_stream_type_get_type (void);
+#define GST_TYPE_STREAM_TYPE (gst_stream_type_get_type())
+
/* enumerations from "gstsystemclock.h" */
GType gst_clock_type_get_type (void);
#define GST_TYPE_CLOCK_TYPE (gst_clock_type_get_type())
diff --git a/win32/common/gstversion.h b/win32/common/gstversion.h
index 7844e7164..27921dca3 100644
--- a/win32/common/gstversion.h
+++ b/win32/common/gstversion.h
@@ -54,13 +54,13 @@ G_BEGIN_DECLS
*
* The minor version of GStreamer at compile time:
*/
-#define GST_VERSION_MINOR (8)
+#define GST_VERSION_MINOR (9)
/**
* GST_VERSION_MICRO:
*
* The micro version of GStreamer at compile time:
*/
-#define GST_VERSION_MICRO (0)
+#define GST_VERSION_MICRO (1)
/**
* GST_VERSION_NANO:
*