X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ChangeLog;h=887869230cd717d37a406567be150c8def47efca;hb=2faf93c009d866d68cf0d063a29bb8c21f192aea;hp=0ffcc3cf54b9687d9465a114abfffcb7475f9aa5;hpb=a837ff6581ba16180e89352a753296cd74a85a72;p=platform%2Fupstream%2Fgstreamer.git diff --git a/ChangeLog b/ChangeLog index 0ffcc3c..8878692 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,8159 @@ +=== release 1.14.0 === + +2018-03-19 20:09:51 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gstreamer.doap: + * meson.build: + Release 1.14.0 + +2018-03-19 20:09:51 +0000 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + Update docs + +=== release 1.13.91 === + +2018-03-13 19:08:54 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gstreamer.doap: + * meson.build: + Release 1.13.91 + +2018-03-13 19:08:54 +0000 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + Update docs + +2018-03-13 11:54:42 +0000 Tim-Philipp Müller + + * docs/gst/meson.build: + * docs/libs/meson.build: + meson: docs: update api decorators to ignore + +2018-03-12 23:12:13 +0000 Tim-Philipp Müller + + * docs/libs/Makefile.am: + docs: fixup for new libs API export decorators + +2018-03-12 23:03:26 +0000 Tim-Philipp Müller + + * libs/gst/net/Makefile.am: + * libs/gst/net/gstnet.h: + * libs/gst/net/gstnetaddressmeta.h: + * libs/gst/net/gstnetclientclock.h: + * libs/gst/net/gstnetcontrolmessagemeta.h: + * libs/gst/net/gstnettimepacket.h: + * libs/gst/net/gstnettimeprovider.h: + * libs/gst/net/gstptpclock.h: + * libs/gst/net/meson.build: + * libs/gst/net/net-prelude.h: + * libs/gst/net/net.h: + net: GST_EXPORT -> GST_NET_API + We need different export decorators for the different libs. + For now no actual change though, just rename before the release, + and add prelude headers to define the new decorator to GST_EXPORT. + +2018-03-12 23:03:26 +0000 Tim-Philipp Müller + + * common: + * libs/gst/controller/Makefile.am: + * libs/gst/controller/controller-prelude.h: + * libs/gst/controller/controller.h: + * libs/gst/controller/controller_mkenum.py: + * libs/gst/controller/gstargbcontrolbinding.h: + * libs/gst/controller/gstdirectcontrolbinding.h: + * libs/gst/controller/gstinterpolationcontrolsource.h: + * libs/gst/controller/gstlfocontrolsource.h: + * libs/gst/controller/gstproxycontrolbinding.h: + * libs/gst/controller/gsttimedvaluecontrolsource.h: + * libs/gst/controller/gsttriggercontrolsource.h: + * libs/gst/controller/meson.build: + controller: GST_EXPORT -> GST_CONTROLLER_API + We need different export decorators for the different libs. + For now no actual change though, just rename before the release, + and add prelude headers to define the new decorator to GST_EXPORT. + +2018-03-12 23:03:26 +0000 Tim-Philipp Müller + + * libs/gst/check/Makefile.am: + * libs/gst/check/check-prelude.h: + * libs/gst/check/check.h: + * libs/gst/check/gstbufferstraw.h: + * libs/gst/check/gstcheck.h: + * libs/gst/check/gstconsistencychecker.h: + * libs/gst/check/gstharness.h: + * libs/gst/check/gsttestclock.h: + * libs/gst/check/meson.build: + check: GST_EXPORT -> GST_CHECK_API + We need different export decorators for the different libs. + For now no actual change though, just rename before the release, + and add prelude headers to define the new decorator to GST_EXPORT. + +2018-03-12 23:03:26 +0000 Tim-Philipp Müller + + * libs/gst/base/Makefile.am: + * libs/gst/base/base-prelude.h: + * libs/gst/base/base.h: + * libs/gst/base/gstadapter.h: + * libs/gst/base/gstaggregator.h: + * libs/gst/base/gstbaseparse.h: + * libs/gst/base/gstbasesink.h: + * libs/gst/base/gstbasesrc.h: + * libs/gst/base/gstbasetransform.h: + * libs/gst/base/gstbitreader.h: + * libs/gst/base/gstbytereader.h: + * libs/gst/base/gstbytewriter.h: + * libs/gst/base/gstcollectpads.h: + * libs/gst/base/gstdataqueue.h: + * libs/gst/base/gstflowcombiner.h: + * libs/gst/base/gstindex.h: + * libs/gst/base/gstpushsrc.h: + * libs/gst/base/gstqueuearray.h: + * libs/gst/base/gsttypefindhelper.h: + * libs/gst/base/meson.build: + base: GST_EXPORT -> GST_BASE_API + We need different export decorators for the different libs. + For now no actual change though, just rename before the release, + and add prelude headers to define the new decorator to GST_EXPORT. + +2018-03-12 23:03:26 +0000 Tim-Philipp Müller + + * docs/gst/Makefile.am: + * gst/Makefile.am: + * gst/gst.h: + * gst/gst_private.h: + * gst/gstallocator.h: + * gst/gstatomicqueue.h: + * gst/gstbin.h: + * gst/gstbuffer.h: + * gst/gstbufferlist.h: + * gst/gstbufferpool.h: + * gst/gstbus.h: + * gst/gstcaps.h: + * gst/gstcapsfeatures.h: + * gst/gstchildproxy.h: + * gst/gstclock.h: + * gst/gstconfig.h.in: + * gst/gstcontext.h: + * gst/gstcontrolbinding.h: + * gst/gstcontrolsource.h: + * gst/gstdatetime.h: + * gst/gstdebugutils.h: + * gst/gstdevice.h: + * gst/gstdevicemonitor.h: + * gst/gstdeviceprovider.h: + * gst/gstdeviceproviderfactory.h: + * gst/gstdynamictypefactory.h: + * gst/gstelement.h: + * gst/gstelementfactory.h: + * gst/gstenumtypes.h.template: + * gst/gsterror.h: + * gst/gstevent.h: + * gst/gstformat.h: + * gst/gstghostpad.h: + * gst/gstinfo.h: + * gst/gstiterator.h: + * gst/gstmemory.h: + * gst/gstmessage.h: + * gst/gstmeta.h: + * gst/gstminiobject.h: + * gst/gstobject.h: + * gst/gstpad.h: + * gst/gstpadtemplate.h: + * gst/gstparamspecs.h: + * gst/gstparse.h: + * gst/gstpipeline.h: + * gst/gstplugin.h: + * gst/gstpluginfeature.h: + * gst/gstpoll.h: + * gst/gstpreset.h: + * gst/gstpromise.h: + * gst/gstprotection.h: + * gst/gstquery.h: + * gst/gstregistry.h: + * gst/gstsample.h: + * gst/gstsegment.h: + * gst/gststreamcollection.h: + * gst/gststreams.h: + * gst/gststructure.h: + * gst/gstsystemclock.h: + * gst/gsttaglist.h: + * gst/gsttagsetter.h: + * gst/gsttask.h: + * gst/gsttaskpool.h: + * gst/gsttoc.h: + * gst/gsttocsetter.h: + * gst/gsttracer.h: + * gst/gsttracerfactory.h: + * gst/gsttracerrecord.h: + * gst/gsttypefind.h: + * gst/gsttypefindfactory.h: + * gst/gsturi.h: + * gst/gstutils.h: + * gst/gstvalue.h: + gst: GST_EXPORT -> GST_API + We need different export decorators for the different libs. + For now no actual change though, just rename before the release, + and add prelude headers to define the new decorator to GST_EXPORT. + +2018-03-08 13:30:30 +1100 Matthew Waters + + * gst/gstpromise.c: + promise: be more explicit in docs about who/when to use reply/interrupt/expire + https://bugzilla.gnome.org/show_bug.cgi?id=794153 + +2018-03-07 11:19:25 -0500 Nicolas Dufresne + + * libs/gst/base/gstbasesrc.c: + basesrc: Balance unlock/unlock_stop in _src_stop() + Otherwise it's possible that we won't be able to start again + depending the implementation. We do start/stop in normal use cases + whenever GST_QUERY_SCHEDULING happens before we are started. + https://bugzilla.gnome.org/show_bug.cgi?id=794149 + +2018-03-07 11:16:00 -0500 Nicolas Dufresne + + * libs/gst/base/gstbasesrc.c: + basesrc: No need to stop flushing in start_complete + The flushing state is handled a bit differently, there is no need + to stop flushing in start_complete. This would other result in + unlock_stop being called without unlock_start. + Unlike what the old comment says, there is no need to take the live + lock here, we are still single threaded at this point (app thread + or the state change thread). Also, we will wait for playing state + in create/getrange, no need to do that twice. + https://bugzilla.gnome.org/show_bug.cgi?id=794149 + +2018-03-05 11:52:24 +0200 Sebastian Dröge + + * gst/gstdebugutils.c: + debugutils: Change dot-file functions documentation to proper gtk-doc + This way gobject-introspection also picks it up and handles our + annotations. + See https://gitlab.gnome.org/GNOME/gobject-introspection/issues/194 + +2018-03-04 10:53:10 +0200 Sebastian Dröge + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gstqueuearray.c: + * libs/gst/base/gstqueuearray.h: + * win32/common/libgstbase.def: + queuearray: Implement pop_tail_struct() for completeness + All other variants of {peek,pop}_{head,tail}_{,struct} were already + implemented. + https://bugzilla.gnome.org/show_bug.cgi?id=794035 + +2018-03-04 10:24:49 +0200 Sebastian Dröge + + * gst/gstpreset.c: + * gst/gsturi.c: + gst: Add some more (type filename) annotations + +=== release 1.13.90 === + +2018-03-03 21:51:49 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gstreamer.doap: + * meson.build: + Release 1.13.90 + +2018-03-03 21:51:49 +0000 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + Update docs + +2018-02-13 22:20:18 +1100 Matthew Waters + + * plugins/elements/gstfdsink.c: + * plugins/elements/gstfdsrc.c: + * plugins/elements/gstfilesink.c: + * plugins/elements/gstfilesrc.c: + * plugins/elements/gstqueue2.c: + * plugins/elements/gstsparsefile.c: + plugins: Don't force 64-bit file/seek functions variants on android + Most functions are automatically chosen from the _FILE_OFFSET_BITS + define, the remaining one (fstat) is only available on API >= 21 so + check for that + +2018-03-01 22:21:17 +0000 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-sections.txt: + * win32/common/libgstbase.def: + Add new symbol to docs and .def file + Fixes make check + +2018-03-01 16:19:09 -0500 Olivier Crête + + * libs/gst/base/gstqueuearray.c: + * libs/gst/base/gstqueuearray.h: + * plugins/elements/gstqueue.c: + * tests/check/elements/queue.c: + queue: Ignore thresholds if a query is queued + The queue gets filled by the tail, so a query will always be the tail + object, not the head object. Also add a _peek_tail_struct() method to the + GstQueueArray to enable looking at the tail. + With unit test to prevent future regression. + https://bugzilla.gnome.org/show_bug.cgi?id=762875 + +2018-03-01 18:38:01 +0100 Mathieu Duponchelle + + * meson.build: + meson: -Wformat-* require -Wformat + +2018-03-01 17:20:06 +0100 Mathieu Duponchelle + + * gst/printf/meson.build: + * libs/gst/check/libcheck/meson.build: + * meson.build: + meson: enable more warnings + Modeled on the autotools build, -W flags are only + added if the compiler supports them. + https://bugzilla.gnome.org/show_bug.cgi?id=793958 + +2018-03-01 00:31:11 +0100 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + * tests/check/libs/aggregator.c: + gstaggregator: pads must inherit from #GstAggregatorPad + Document this, and take advantage of that fact to use + GstAggregator.srcpad.segment instead of GstAggregator.segment + https://bugzilla.gnome.org/show_bug.cgi?id=793942 + +2018-03-01 01:15:34 +0100 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + * tests/check/libs/aggregator.c: + Revert "gstaggregator: pads must inherit from #GstAggregatorPad" + This reverts commit 9774b3775d8483e5697f9196a26c1e5831113bd6. + Pushed by mistake + +2018-03-01 01:12:07 +0100 Mathieu Duponchelle + + * gst/gstghostpad.c: + ghostpad: ensure we build a ghost pad .. + When we construct from a custom GType + +2018-03-01 01:09:48 +0100 Mathieu Duponchelle + + * gst/gstpad.c: + pad: fix mixed declarations + +2018-03-01 00:31:11 +0100 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + * tests/check/libs/aggregator.c: + gstaggregator: pads must inherit from #GstAggregatorPad + Document this, and take advantage of that fact to use + GstAggregator.srcpad.segment instead of GstAggregator.segment + https://bugzilla.gnome.org/show_bug.cgi?id=793942 + +2018-02-28 19:53:42 +0100 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: allow src GstAggregatorPads + See https://bugzilla.gnome.org/show_bug.cgi?id=793917 + https://bugzilla.gnome.org/show_bug.cgi?id=793934 + +2018-02-28 19:51:44 +0100 Mathieu Duponchelle + + * gst/gstghostpad.c: + * gst/gstpad.c: + * gst/gstpadtemplate.c: + pad, ghostpad: use the template gtype if specified + Also make sure the GType passed to the with_gtype versions + of the template constructors is_a GstPad + https://bugzilla.gnome.org/show_bug.cgi?id=793933 + +2018-02-21 22:25:25 -0500 Nicolas Dufresne + + * libs/gst/base/gstbaseparse.c: + baseparse: Fix integer overflow in bitrate calculation + https://bugzilla.gnome.org/show_bug.cgi?id=793284 + +2018-02-21 22:01:36 -0500 Nicolas Dufresne + + * libs/gst/base/gstbaseparse.c: + baseparse: Avoid overflow in update_interval calculation + https://bugzilla.gnome.org/show_bug.cgi?id=793284 + +2018-02-21 21:43:59 -0500 Nicolas Dufresne + + * libs/gst/base/gstbaseparse.c: + baseparse: Fix check for update_interval + update_interval may be -1 + https://bugzilla.gnome.org/show_bug.cgi?id=793284 + +2018-02-19 15:39:46 +0900 Justin Kim + + * meson.build: + meson: Use .dylib suffix if darwin + For Mac OS, GST_EXTRA_MODULE_SUFFIX should be set as '.dylib'. + Otherwise, GStreamer fails to load its plugins. + https://bugzilla.gnome.org/show_bug.cgi?id=793584 + +2018-02-01 18:29:27 +0000 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gstqueuearray.c: + * libs/gst/base/gstqueuearray.h: + * tests/check/libs/queuearray.c: + * win32/common/libgstbase.def: + queuearray: add _peek_tail() and _pop_tail() + API: gst_queue_array_pop_tail() + API: gst_queue_array_peek_tail() + These will be needed later for appsrc. + +2018-02-13 12:38:33 +0100 Mark Nauwelaerts + + * gst/gstbuffer.c: + * gst/gstevent.c: + * gst/gstmemory.c: + * gst/gstmessage.c: + * gst/gstquery.c: + * gst/gstsegment.c: + * gst/gsttaglist.c: + * gst/gsturi.c: + gst: fix some GIR annotations + Mostly related to out parameters and their transfer + +2018-01-10 04:08:57 +0100 Alicia Boya García + + * libs/gst/base/gstbasesink.c: + * tests/check/libs/basesink.c: + gstbasesink: Include segment.offset in the computation of position + Position queries with GST_FORMAT_TIME are supposed to return stream + time. + gst_base_sink_get_position() estimates the current stream time on its + own instead of using gst_segment_to_stream_time(), but the algorithm + used was not taking segment.offset into account, resulting in invalid + values when this field was set to a non-zero value. + https://bugzilla.gnome.org/show_bug.cgi?id=792434 + +2018-02-15 12:58:43 +1100 Matthew Waters + + * plugins/tracers/gstlatency.c: + tracers: latency: allow for non parented pads to send latency probes + Such a setup is used in rtspsrc for its TCP connection + https://bugzilla.gnome.org/show_bug.cgi?id=793478 + +2018-02-15 19:44:14 +0000 Tim-Philipp Müller + + * configure.ac: + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + * meson.build: + Back to development + +=== release 1.13.1 === + +2018-02-15 16:31:16 +0000 Tim-Philipp Müller + + * NEWS: + * configure.ac: + * docs/plugins/gstreamer-plugins.args: + * docs/plugins/gstreamer-plugins.hierarchy: + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + * gstreamer.doap: + * meson.build: + Release 1.13.1 + +2018-02-15 13:36:26 +0000 Tim-Philipp Müller + + * tests/check/gst/gstpipeline.c: + tests: pipeline: try to make test_pipeline_reset_start_time more reliable + Occasionally this test would fail, especially if the system is under load, + because the position query would pick up the last position from the + last buffer timestamp which has a lower timestamp than what we're + looking for. The sleep is long enough, however. It's unclear to me why + exactly this happens but there seems to be some kind of scheduling + issue going on as the streaming thread floods the sink with buffers. + Let's throttle the fakesrc to 100 buffers per second and make the sink + sync to the clock to restore some sanity. It should be totally sufficient + to test what we want to test, and seems to make things reliable here. + +2018-02-15 12:03:20 +0000 Tim-Philipp Müller + + * tests/check/gst/gsturi.c: + tests: uri: fix build without -DGST_DISABLE_DEPRECATED + Must undefine it before including gst headers, since the test + tests deprecated API. + +2018-02-15 12:09:31 +0000 Tim-Philipp Müller + + * gst/gstconfig.h.in: + gstconfig.h: want deprecation warnings if GST_DISABLE_DEPRECATED is *set* + Fix inverted logic. If GST_DISABLE_DEPRECATED is undefined, + we don't want warnings about deprecated API, and if it's + defined we do want warnings. + +2018-02-15 11:28:23 +0000 Tim-Philipp Müller + + * po/bg.po: + * po/cs.po: + * po/da.po: + * po/de.po: + * po/fr.po: + * po/hr.po: + * po/hu.po: + * po/nb.po: + * po/nl.po: + * po/pl.po: + * po/ru.po: + * po/sr.po: + * po/sv.po: + * po/tr.po: + * po/uk.po: + * po/vi.po: + * po/zh_CN.po: + po: update translations + +2018-02-14 19:37:35 +0000 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-sections.txt: + docs: add flow combiner ref/unref to docs + So new-in-1.12 index actually has some entries. + +2018-02-14 19:13:28 +0000 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-docs.sgml: + docs: add index for new symbols in 1.14 + +2018-02-14 19:12:06 +0000 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-docs.sgml: + docs: add index for new symbols in 1.12 + +2018-02-08 17:22:14 +0000 Tim-Philipp Müller + + * meson.build: + meson: make version numbers ints and fix int/string comparison + WARNING: Trying to compare values of different types (str, int). + The result of this is undefined and will become a hard error + in a future Meson release. + +2018-02-03 17:56:04 +0100 Tim-Philipp Müller + + * configure.ac: + * gst/printf/Makefile.am: + autotools: use -fno-strict-aliasing where supported + https://bugzilla.gnome.org/show_bug.cgi?id=769183 + +2018-02-03 17:55:29 +0100 Tim-Philipp Müller + + * gst/gstbuffer.h: + buffer: fix gtk-doc warning regarding _get_n_meta() declaration + +2018-02-02 00:24:20 +1100 Matthew Waters + + * gst/gstpromise.c: + * gst/gstpromise.h: + gstpromise: add since 1.14 markers + +2017-10-18 21:24:19 +1100 Matthew Waters + + * scripts/gst-uninstalled: + gst-uninstalled: add webrtc to libraries + +2018-01-31 14:01:36 +0100 Mathieu Duponchelle + + * gst/gstbuffer.h: + gstbuffer.h: move FLAG_LAST documentation back to the bottom + +2018-01-31 13:36:15 +0100 Mathieu Duponchelle + + * libs/gst/base/gstbasetransform.h: + basetransform: annotate virtual methods + +2018-01-30 16:41:39 +0100 Mathieu Duponchelle + + * gst/gstbuffer.h: + gstbuffer: add GST_BUFFER_FLAG_NON_DROPPABLE + This can be used to identify buffers for which a higher percentage + of redundancy should be allocated when performing forward error + correction, or to prevent still video frames from being dropped by + elements due to QoS. + https://bugzilla.gnome.org/show_bug.cgi?id=793008 + +2018-01-30 20:30:47 +0000 Tim-Philipp Müller + + * meson.build: + meson: use -fno-strict-aliasing if supported + https://bugzilla.gnome.org/show_bug.cgi?id=769183 + +2017-12-23 16:45:18 +0100 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + * gst/gstbuffer.c: + * gst/gstbuffer.h: + * win32/common/libgstreamer.def: + buffer: add gst_buffer_get_n_meta() convenience function + Counts how many metas there are for a certain api type. + https://bugzilla.gnome.org/show_bug.cgi?id=791918 + +2017-10-22 18:05:30 +0530 Arun Raghavan + + * gst/gst.c: + * gst/gstallocator.c: + * gst/gstbin.c: + * gst/gstbuffer.c: + * gst/gstbus.c: + * gst/gstcaps.c: + * gst/gstcapsfeatures.c: + * gst/gstdatetime.c: + * gst/gstdevice.c: + * gst/gstdevicemonitor.c: + * gst/gstdeviceprovider.c: + * gst/gstelement.c: + * gst/gstevent.c: + * gst/gstinfo.c: + * gst/gstmessage.c: + * gst/gstmeta.c: + * gst/gstminiobject.c: + * gst/gstpad.c: + * gst/gstpadtemplate.c: + * gst/gstparamspecs.c: + * gst/gstparse.c: + * gst/gstplugin.c: + * gst/gstprotection.c: + * gst/gstquery.c: + * gst/gstsample.c: + * gst/gststreamcollection.c: + * gst/gststreams.c: + * gst/gststructure.c: + * gst/gsttaglist.c: + * gst/gsttoc.c: + * gst/gsturi.c: + * gst/gstutils.c: + * gst/gstvalue.c: + gst: Fix up a bunch of GIR annotations + This is mostly on nullable return values, and some other minor ones that + I ran across. + https://bugzilla.gnome.org/show_bug.cgi?id=789319 + +2017-05-27 05:19:20 +0530 Arun Raghavan + + * gst/gstdevicemonitor.c: + devicemonitor: Return NULL instead of FALSE + Same effect, meaning is clearer. + https://bugzilla.gnome.org/show_bug.cgi?id=789319 + +2018-01-26 12:42:28 +0100 François Laignel + + * docs/gst/gstreamer-sections.txt: + * gst/gstmessage.c: + * gst/gstmessage.h: + * tests/check/gst/gstmessage.c: + * win32/common/libgstreamer.def: + message: Add gst_message_writable_structure() + Add gst_message_writable_structure() to be able to add extra fields to + messages (and be on par with GstEvent). + https://bugzilla.gnome.org/show_bug.cgi?id=792928 + +2018-01-23 22:49:52 +0100 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: delegate buffer skipping to the aggregate thread + As we do that for serialized events as well, and the subclass will + most likely need to access pad->segment to make its decisions, + doing that from the sinkpad's streaming threads was racy. + +2017-12-28 12:12:45 +0100 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + API: GstAggregatorPad.skip_buffer virtual method + Allows subclasses to prevent buffers from being queued. + https://bugzilla.gnome.org/show_bug.cgi?id=781928 + +2018-01-23 20:04:02 +0100 Mathieu Duponchelle + + * libs/gst/base/gstbasesrc.h: + basesrc: Annotate some of the virtual methods + +2018-01-23 08:56:34 +0000 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + * tests/check/libs/aggregator.c: + * win32/common/libgstbase.def: + aggregator: rename _get_buffer() -> _peek_buffer() and _steal -> _pop + https://bugzilla.gnome.org/show_bug.cgi?id=791204 + +2018-01-20 15:30:53 +0000 Tim-Philipp Müller + + * gst/gstchildproxy.c: + childproxy: gracefully handle methods being NULL + Do this for all method invoke functions for consistency. + https://bugzilla.gnome.org/show_bug.cgi?id=750154 + +2018-01-18 18:11:59 +0000 Tim-Philipp Müller + + * win32/common/libgstreamer.def: + win32: fix .def file for new API + Fixes check + distcheck + +2017-08-01 10:43:32 +0200 Michele Dionisio + + * libs/gst/net/gstptpclock.c: + ptp: fix build failure with #undef USE_MEASUREMENT_FILTERING + "Label ‘out’ used but not defined", since it's also used by + the USE_MEDIAN_PRE_FILTERING branch. + https://bugzilla.gnome.org/show_bug.cgi?id=785631 + +2018-01-18 19:16:12 +0200 Sebastian Dröge + + * gst/gstpadtemplate.h: + padtemplate: And add missing GST_EXPORT to gst_pad_template_new_with_gtype() + +2018-01-18 19:15:09 +0200 Sebastian Dröge + + * gst/gstpadtemplate.c: + padtemplate: Add missing Since: 1.14 marker to gst_pad_template_new_with_gtype() + +2018-01-18 19:08:10 +0200 Sebastian Dröge + + * gst/gstpadtemplate.c: + * gst/gstpadtemplate.h: + padtemplate: Add gst_pad_template_new_with_gtype() + For being able to create a pad template with GType without having a + static pad template. + +2018-01-18 19:07:49 +0200 Sebastian Dröge + + * gst/gstpadtemplate.c: + padtemplate: Add Since: 1.14 marker to gst_pad_template_new_from_static_pad_template_with_gtype() + +2018-01-16 10:17:58 +0100 Edward Hervey + + * gst/gstpad.c: + gstpad: Avoid stream-dead-lock on deactivation + The following case can happen when two thread try to activate and + deactivate a pad at the same time: + T1: starts to deactivate, calls pre_activate(), sets in_activation + to TRUE and carries on + T2: starts to activate, calls pre_activate(), in_activation is TRUE + so it waits on the GCond + T1: calls post_activate(), tries to acquire the streaming lock .. + but can't because T2 is currently holding it + With this patch, the deadlock will no longer happen but does not + solve the problem that: + T2: will resume activation of the pad, set the pad mode to the target + one (PUSH or PULL) and eventually the streaming lock gets released. + T1: is able to finish calling post_activate() ... but ... the pad + wasn't deactivated (T2 was the last one to "activate" the pad. + https://bugzilla.gnome.org/show_bug.cgi?id=792341 + +2018-01-15 18:13:45 +0100 Edward Hervey + + * gst/gstpad.c: + gstpad: Release pending g_cond_wait() when stopping/pausing task + Otherwise we would deadlock waiting forever for the streaming lock + to be released + https://bugzilla.gnome.org/show_bug.cgi?id=792341 + +2018-01-13 11:08:00 +0800 Jun Xie + + * libs/gst/base/gsttypefindhelper.c: + typefindhelper: fix confusing debug log message + In case of a short buffer, the debug log is quite confusing. + Distinguish the two types of failure cases to make it clearer. + https://bugzilla.gnome.org/show_bug.cgi?id=792486 + +2018-01-12 18:47:17 +0000 Tim-Philipp Müller + + * gst/gstobject.c: + docs: explicit refer to GObject docs for floating refs + https://bugzilla.gnome.org/show_bug.cgi?id=788477 + +2018-01-11 19:52:41 +0000 Tim-Philipp Müller + + * tests/check/elements/fakesink.c: + tests: fakesink: make notify stress test work better on Windows + Set up all ten pipelines and preroll them first, and only set + them to playing to run wild after they're all set up. If we set + them to PLAYING directly and let those threads run wild, then + it might take ages (many seconds) for the other pipelines to + even get up and running, especially on machines with only one + or two cores, and operating systems that suck at scheduling. + Now the fakesink test takes 19 secs instead of 71 secs on a + single-cpu windows machine. + +2018-01-11 19:32:08 +0000 Tim-Philipp Müller + + * tests/check/elements/filesrc.c: + tests: filesrc: more Windows fixes + Fix typo in newly-added windows uri test. + +2018-01-11 18:44:50 +0000 Tim-Philipp Müller + + * gst/gstutils.c: + utils: use g_get_monotonic_time() as fallback in gst_utils_get_timestamp() + This is a better fit given that the function docs say this + should (only) be used for interval measurements, but also + this seems to give much better granularity on Windows + systems, where before this change there would often be + 10-20 lines of debug log with the same timestamp up front. + +2018-01-11 18:39:50 +0000 Tim-Philipp Müller + + * tests/check/gst/gstsystemclock.c: + tests: systemclock: scale stress test threads according to number of cpus + Scale the number of threads used in the stress tests according to + the number of cores/cpus. We want some contention, but we also + don't want too much contention, as some operating systems are + better at handling 100 threads running wild on a single core + than others. + +2018-01-11 17:10:45 +0000 Tim-Philipp Müller + + * gst/gstplugin.c: + plugin: plugin_load() must return a ref even if it was loaded already + Fix refcounting issue when plugin was loaded already. + gst_plugin_load() is supposed to return a ref, so it + must always return a ref. + This also fixes the gstplugin unit test on windows where + fork is not available and where test_load_coreelements() + would unref a plugin ref it didn't get and then mess up + the internal registry plugin list state for the next test, + in case where the test registry does not exist yet. + +2018-01-11 14:56:42 +0000 Tim-Philipp Müller + + * tests/check/elements/filesrc.c: + tests: filesrc: fix for windows + Location paths have backslashes on windows when converted from URI. + +2018-01-11 12:27:18 +0000 Tim-Philipp Müller + + * libs/gst/check/gstcheck.c: + libs: check: print stacktrace on unexpected criticals + +2018-01-11 12:02:47 +0000 Tim-Philipp Müller + + * tests/check/Makefile.am: + * tests/check/gst/gstabi.c: + * tests/check/gst/struct_x86_64w.h: + tests: abi: fix abi test on 64-bit Windows + Add header with structure sizes for 64-bit windows as well. + They're almost the same as on Linux, but it looks like things + like padding unions get aligned slightly differently so there + are a handful of differences: + sizeof(GstGhostPad) is 528, expected 536 + sizeof(GstPad) is 512, expected 520 + sizeof(GstPadProbeInfo) is 64, expected 72 + sizeof(GstProxyPad) is 520, expected 528 + +2018-01-11 11:38:53 +0000 Tim-Philipp Müller + + * tests/check/gst/gstinfo.c: + tests: info: fix post init cat reg test on windows and with CK_FORK=no + The test checks that categories not covered by the pattern in the + GST_DEBUG string have debug level GST_LEVEL_DEFAULT set, but previous + tests mess with the default threshold, which made this test fail on + Windows or when run with CK_FORK=no. Fix this by resetting everything + at the beginning, and then also do a sanity check afterwards. + +2018-01-11 11:36:53 +0000 Tim-Philipp Müller + + * gst/gstinfo.c: + info: reset default threshold to LEVEL_DEFAULT not 0 + in set_threshold_from_string(). + +2017-11-08 20:05:03 +0100 Håvard Graff + + * libs/gst/check/libcheck/check.h.in: + * libs/gst/check/libcheck/libcompat/libcompat.h: + * libs/gst/check/libcheck/meson.build: + * libs/gst/check/meson.build: + * libs/gst/meson.build: + * pkgconfig/meson.build: + * tests/meson.build: + meson: make check and tests build on Windows with msvc + +2018-01-02 10:02:45 +0100 Edward Hervey + + * libs/gst/check/gstharness.c: + gstharness: Remove double free + +2017-12-26 18:08:31 +0100 Sebastian Dröge + + * gst/gststreams.h: + streams: GstStreamType/GstStream are available since 1.10 + Annotate them as such. + +2017-12-26 13:46:20 +0100 Tim-Philipp Müller + + * meson.build: + meson: skip translations if gettext is not available + +2017-12-26 12:51:22 +0100 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: remove DEBUG_FUNCPTR + The new gst_element_do_foreach_pad() does not print the functions anymore. + +2017-12-26 12:17:53 +0100 Stefan Sauer + + * tools/gst-inspect.c: + inspect: add comment for how to improve tracer support + +2017-12-26 11:29:39 +0100 Stefan Sauer + + * gst/gstsegment.c: + segment: add a FIXME-2.0 for the format parameters + Capture the somewhat not ordinary use of the extra format parameter in a + comment. + See https://bugzilla.gnome.org/show_bug.cgi?id=788979 + +2017-12-24 16:21:38 +0100 Tim-Philipp Müller + + * gst/gst.c: + * tests/check/Makefile.am: + * tests/check/gst/.gitignore: + * tests/check/gst/gstdeinit.c: + * tests/check/meson.build: + Skip gst_deinit() if gstreamer was not initialized properly + Can happen if an error occurs during option parsing, for example. + https://bugzilla.gnome.org/show_bug.cgi?id=781914 + +2017-12-23 23:43:33 +0100 Jan Alexander Steffens (heftig) + + * tests/check/elements/multiqueue.c: + tests: multiqueue: Replace large test macro with function + Just a bit of cleanup. + https://bugzilla.gnome.org/show_bug.cgi?id=756867 + +2017-12-15 09:43:40 +0100 Jan Alexander Steffens (heftig) + + * tests/check/elements/multiqueue.c: + tests: multiqueue: Check we get CREATE+ENTER stream-statuses when adding pads + https://bugzilla.gnome.org/show_bug.cgi?id=756867 + +2017-12-15 09:14:57 +0100 Jan Alexander Steffens (heftig) + + * plugins/elements/gstmultiqueue.c: + multiqueue: Don't start new pads until parented + Start task on new source pads added at runtime after they + have been added to the element, not during activation. + This ensures the pads can post their CREATE stream-status + messages and the application can set thread priorities. + https://bugzilla.gnome.org/show_bug.cgi?id=756867 + +2017-12-15 09:14:07 +0100 Jan Alexander Steffens (heftig) + + * plugins/elements/gstmultiqueue.c: + multiqueue: Split task handling from gst_single_queue_flush + https://bugzilla.gnome.org/show_bug.cgi?id=756867 + +2017-12-23 23:25:58 +0100 Jan Alexander Steffens (heftig) + + * libs/gst/base/gstaggregator.c: + aggregator: Avoid a maybe-uninitialized warning + Arch Linux x86_64, gcc 7.2.1-2, -Og -g3 + +2017-12-21 13:47:52 +0200 Sebastian Dröge + + * plugins/elements/gstdownloadbuffer.c: + downloadbuffer: Don't hold the mutex while posint the download-complete message + Something might handle it from a sync message handler and call back into + downloadbuffer, causing a deadlock. + +2017-12-20 18:56:23 +0200 Sebastian Dröge + + * gst/gstsystemclock.c: + systemclock: set_default() clock parameter can be NULL + +2017-12-20 18:11:48 +0200 Sebastian Dröge + + * gst/gstelement.c: + element: Annotate set_clock() clock parameter with allow-none + +2017-12-20 18:09:28 +0200 Sebastian Dröge + + * gst/gstelement.c: + element: Annotate set_bus() bus parameter as allow-none + It's possible to replace the bus with NULL/None + +2017-12-10 22:50:05 +0000 Tim-Philipp Müller + + * scripts/gst-uninstalled: + gst-uninstalled: update for gl lib move from bad to base + +2017-12-11 20:58:16 -0500 Nicolas Dufresne + + * libs/gst/base/gstbasetransform.c: + basetransform: Allow going passthrough inside decide_allocation + Sub-class may want to decide to go passthrough/in-place by inspecting + the support meta APIs. This patch duplicates the check for this mode, + so we still don't do uneeded allocation query while we allow sub-classes + to switch the behaviour during it's own decide_allocation call. + Notice that such sub-class need to reset the class to non-passthrough in + set_caps() in order for decide_allocation to be called again. This is + needed otherwise we'd be doing an allocation query in element in which + it make no sense (notably capsfilter). + https://bugzilla.gnome.org/show_bug.cgi?id=791453 + +2017-12-17 14:18:38 +0200 Sebastian Dröge + + * gst/gstplugin.c: + plugin: Annotate add_dependency() arguments as NULL-terminated arrays + +2017-12-14 00:03:04 +0530 Umang Jain + + * gst/gstbus.c: + docs: GstBus: Provide more information for ref/unref during bus watch. + https://bugzilla.gnome.org/show_bug.cgi?id=791588 + +2017-12-14 16:05:00 +1100 Matthew Waters + + * win32/common/libgstreamer.def: + update win32 defs for tracer API addition + +2017-12-14 14:48:47 +1100 Matthew Waters + + * common: + Automatic update of common submodule + From e8c7a71 to 3fa2c9e + +2017-12-05 21:36:34 +1100 Matthew Waters + + * docs/gst/gstreamer-sections.txt: + * docs/plugins/Makefile.am: + * docs/plugins/gstreamer-plugins-docs.sgml: + * docs/plugins/gstreamer-plugins-sections.txt: + * docs/plugins/inspect/plugin-coretracers.xml: + * gst/gsttracerfactory.c: + * gst/gsttracerfactory.h: + * plugins/tracers/gstlatency.c: + * plugins/tracers/gstleaks.c: + * plugins/tracers/gstlog.c: + * plugins/tracers/gstrusage.c: + * plugins/tracers/gststats.c: + docs: include tracers in the documentation + Requires exposing the tracer GType from the GstTracerFactory in order + to link the plugin with the tracer in the documentation. + https://bugzilla.gnome.org/show_bug.cgi?id=791253 + +2017-12-05 20:56:09 +1100 Matthew Waters + + * libs/gst/check/gstharness.c: + check/harness: fix transfer annotations on buffer passing functions + +2017-08-30 13:03:28 +0100 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gstbasesrc.c: + * libs/gst/base/gstbasesrc.h: + * tests/check/libs/basesrc.c: + * win32/common/libgstbase.def: + basesrc: add buffer list support + Add a gst_base_src_submit_buffer_list() function that allows subclasses + to produce a bufferlist containing multiple buffers in the ::create() + function. The buffers in the buffer list will then also be pushed out + in one go as a GstBufferList. This can reduce push overhead + significantly for sources with packetised inputs (such as udpsrc) + in high-throughput scenarios. + The _submit_buffer_list() approach was chosen because it is fairly + straight-forward, backwards-compatible, bindings-friendly (as opposed + to e.g. making the create function return a mini object instead), + and it allows the subclass maximum control: the subclass can decide + dynamically at runtime whether to return a list or a single buffer + (which would be messier if we added a create_list virtual method). + https://bugzilla.gnome.org/show_bug.cgi?id=750241 + +2017-08-31 01:18:28 +0100 Tim-Philipp Müller + + * libs/gst/base/gstbasesrc.c: + basesrc: minor code readability improvement + +2017-12-07 12:05:23 +0000 Tim-Philipp Müller + + * gst/gstbus.c: + * gst/gstevent.c: + * gst/gsttracer.c: + * gst/gsttracerutils.h: + * gst/gstvalue.h: + docs: Fix a few gtk-doc warnings + Broken links mostly. + +2017-12-06 20:58:42 +0000 Tim-Philipp Müller + + * tests/check/libs/aggregator.c: + tests: aggregator: fix caps leak in unit test + +2017-12-06 17:07:29 +0100 Edward Hervey + + * gst/gstpad.c: + gstpad: Handle GST_PAD_PROBE_HANDLED on sticky event push + When actually pushing an event, if we get GST_FLOW_CUSTOM_SUCCESS_1 + (which is the conversion of GST_PAD_PROBE_HANDLED return value), + don't consider the stick event push as ignored, but as handled + +2017-12-06 13:40:46 +0200 Sebastian Dröge + + * gst/gstevent.c: + * gst/gstmessage.c: + * gst/gstquery.c: + event/query/message: Annotate get_structure() return value as nullable + +2017-12-06 13:36:30 +0200 Sebastian Dröge + + * gst/gstquery.c: + query: Add an empty structure in writable_structure() if there is none yet + This is consistent with how it works for GstEvent already. + +2017-12-05 18:21:00 +0100 Edward Hervey + + * docs/gst/gstreamer-docs.sgml: + * docs/gst/gstreamer-sections.txt: + * gst/gstpromise.c: + * gst/gststreamcollection.h: + * gst/gststreams.h: + docs: Misc addition/fixes + And also add the "Since" API sections for 1.12 and 1.14 + +2017-12-05 18:20:34 +0100 Edward Hervey + + * docs/gst/gstreamer-sections.txt: + * gst/gstutils.c: + * gst/gstutils.h: + docs: Add documentation for GST_SEQNUM_INVALID + And link to it + +2017-12-05 17:28:55 +0100 Edward Hervey + + * docs/gst/gstreamer-sections.txt: + * gst/gstutils.c: + * gst/gstutils.h: + utils: Never return a group_id of 0, add GST_GROUP_ID_INVALID + Various plugins use special values (0 or G_MAXUINT32) as an + invalid/unset group_id, but nothing guarantees a groupid won't have + that value. + Instead define a value which group_id will never have and make + gst_group_id_next() always return a value different from that. + API: GST_GROUP_ID_INVALID + +2017-12-05 16:42:57 +0000 Tim-Philipp Müller + + * libs/gst/check/gstharness.c: + harness: make bindings use the GBytes variant for _take_all_data() + +2016-11-23 13:12:36 +0100 Havard Graff + + * libs/gst/check/gstharness.c: + harness: use new take_all_data() function in _dump_to_file(). + +2017-12-05 15:28:43 +0000 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/check/Makefile.am: + * libs/gst/check/gstharness.c: + * libs/gst/check/gstharness.h: + * tests/check/libs/gstharness.c: + harness: add gst_harness_take_all_data() + _take_all_data_as_{bytes,buffer}() + Convenience function to just grab all pending data + from the harness, e.g. if we just want to check if + it matches what we expect and we don't care about + the chunking or buffer metadata. + Based on patch by: Havard Graff + +2017-12-05 15:16:36 +0000 Tim-Philipp Müller + + * gst/gstbuffer.c: + buffer: document that _extract_dup() will return NULL for 0-sized buf + And make it explicit, and don't call _extract() on NULL data buffer. + +2017-12-05 12:27:18 +0530 Nirbheek Chauhan + + * tests/check/meson.build: + meson: Use array syntax instead of .get() in tests + +2017-11-24 02:39:43 +0530 Nirbheek Chauhan + + * gst/parse/meson.build: + meson: Use new find_program fallback syntax + We use this syntax in libs/gst/helpers/meson.build already. + +2017-12-04 18:08:39 +0200 Sebastian Dröge + + * gst/gstelement.c: + gst: gst_element_remove_pad() is transfer none for the pad + While the refcount of the pad is decreased, it's the refcount that is + owned by the parent (i.e. the element) and not the one passed in by the + caller. + Fixes a memory leak in bindings. + +2017-12-04 11:24:47 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: add finish_buffer() vfunc + So subclasses can override the finish behaviour + and/or decorate or modify buffers before they + get pushed out. + https://bugzilla.gnome.org/show_bug.cgi?id=760981 + +2017-12-04 12:29:05 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: disable tag merging and forwarding for now + Subclasses should handle this for now. + +2017-11-06 20:23:12 +0100 Jan Alexander Steffens (heftig) + + * gst/gstdevicemonitor.c: + devicemonitor: Avoid maybe-uninitialized compiler warning + On Arch Linux x86_64, gcc 7.2.0-3, -Og -g3: + gstdevicemonitor.c: In function ‘bus_sync_message’: + gstdevicemonitor.c:276:8: error: ‘matches’ may be used uninitialized in this function [-Werror=maybe-uninitialized] + This commit also simplifies the code a bit. + https://bugzilla.gnome.org/show_bug.cgi?id=789983 + +2017-12-03 14:48:22 +0200 Sebastian Dröge + + * gst/gstdebugutils.c: + * gst/gstplugin.c: + * gst/gstregistry.c: + gst: Annotate various strings as type filename if they represent a path/filename + +2017-12-02 15:44:48 +0000 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-docs.sgml: + * docs/libs/gstreamer-libs-sections.txt: + * docs/libs/gstreamer-libs.types: + * libs/gst/base/gstaggregator.c: + aggregator: hook up to docs + +2017-12-02 15:24:22 +0000 Tim-Philipp Müller + + * libs/gst/base/Makefile.am: + * libs/gst/base/base.h: + * libs/gst/base/gstaggregator.h: + * libs/gst/base/meson.build: + * tests/check/Makefile.am: + * tests/check/libs/.gitignore: + * tests/check/meson.build: + * win32/common/libgstbase.def: + aggregator: hook up to build system + https://bugzilla.gnome.org/show_bug.cgi?id=739010 + +2017-12-02 15:12:25 +0000 Tim-Philipp Müller + + Move GstAggregator from -bad to core + Merge branch 'aggregator-move' + https://bugzilla.gnome.org/show_bug.cgi?id=739010 + +2017-11-06 21:07:51 +0100 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Remove klass->sinkpads_type + This posed problems for the python bindings (and possibly others). + Instead, subclasses now use add_pad_template_with_gtype. + https://bugzilla.gnome.org/show_bug.cgi?id=789986 + +2017-11-02 18:32:55 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: add doc blurb for gst_aggregator_pad_is_eos() + +2017-11-02 16:05:12 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.h: + aggregator: also remove now-unused PadForeachFunc declaration + https://bugzilla.gnome.org/show_bug.cgi?id=785679 + +2017-08-02 12:08:26 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Remove pad iterator function + Use new gst_element_foreach_sink_pad() from core instead. + https://bugzilla.gnome.org/show_bug.cgi?id=785679 + +2017-11-02 12:46:26 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: use new gst_element_foreach_sink_pad() + Instead of gst_aggregator_iterate_sinkpads() which will + soon be removed. + https://bugzilla.gnome.org/show_bug.cgi?id=785679 + +2017-11-01 15:18:08 +0100 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: add more comments + +2017-10-23 11:52:38 +0200 Stefan Sauer + + * tests/check/libs/aggregator.c: + tests: comment and logging cleanups for audiomixer and aggregator + Remove some references to 'collectpads'. Logs pads through the object variants. + Add some more comments. Remove a left over comment. + +2017-10-22 19:43:17 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: fix type for latency property (int64 -> GStClockTime) + The value is used as GstClockTiem in the code. Adapt the hack^H^H^H^Hcode + in live-adder. + +2017-07-13 19:03:19 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Don't take flush lock from output thread + Instead just take it in the chain function. + https://bugzilla.gnome.org/show_bug.cgi?id=784911 + +2017-07-13 18:38:34 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Don't block if adding to the tail of the queue + If we're adding to the tail of the queue, it's because we're converting + a gap event, so don't block there it means we're calling from the output + thread. + https://bugzilla.gnome.org/show_bug.cgi?id=784911 + +2017-10-17 08:03:02 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: review code related to time level + Add a comment for when the state matters. Use a local var for priv in + update_time_level() to improve readability. Move the our_latency local + var below the query results checks. + +2017-10-17 07:51:51 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: init latency values with 0 instead of FALSE + +2017-10-15 20:46:09 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: code cleanup for event and query func + Only look up klass for non serialized events/queries. For events remove + superfluous assignment for the return value in the flushing case. + +2017-10-15 17:46:45 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: simplify pad_event_func for FLUSH_STOP events + We want to skip serialization for FLUSH_STOP events (apparently). We can + simplify the code to add it to the top-level conditions. There was nothing + done in the first code path if the event was FLUSH_STOP. + +2017-10-15 16:57:13 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: drop special casing for eos + Just queue it like any other serialized event. This way we don't need to + check if there still are buffers in the queue. + Validated with the tests and gst-launch-1.0 pipelines. + +2017-10-15 16:51:21 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: add a doc-blob for the event_func + +2017-10-15 16:48:21 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: rename a local variable + The variable tracks wheter the queue is not empty, but num_buffers==0. That + means we have events or queries to process. Rename accordingly. + +2017-10-15 12:17:42 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: remove commented code + The SEGMENT_DONE event does not require any special treatment. This is + commented out in 6efc106a67. + +2017-10-15 12:14:28 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: move the comment for the locks to the lock macros + Looks like some code was inserted afterwards. + +2017-10-15 10:44:44 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: improve section docs + Mention how data ends up in the queues. Document the relation of the pad + functions and the class vmethods to get events and queries. + +2017-10-14 18:18:44 +0200 Stefan Sauer + + * tests/check/libs/aggregator.c: + aggregator: add two more tests for a sequence of data + This verifies that we handle events and queries at the head of the queue and + then buffers. + +2017-10-14 13:26:02 +0200 Stefan Sauer + + * tests/check/libs/aggregator.c: + aggregator: refactor the test helper + Make the test helpers use a queue. This lets us also test sequences of events, + queries and data. + +2017-10-14 12:08:19 +0200 Stefan Sauer + + * tests/check/libs/aggregator.c: + aggregator: test cleanup + Remove gst_init() from a few tests. Use _OBJECT variants in logging. Remove + arbitrary extra blank lines. Make push_event() more like push_buffer() - set + the event to NULL and add cleanup to _chain_data_clear(). + +2017-10-03 12:36:10 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: cleanup event forwarding + Don't copy the whole event struct. Set the input params when we call the + forwarding helper. Initialize the internal fields and return values in the + helper. + +2017-10-03 12:08:42 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: simplify src_event + Avoid extra ref/unref, we have a ref and do_seek unrefs. Just return the result + as we have. This lets us remove the local var plus the label. + +2017-09-17 12:37:03 -0700 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: register func for do_events_and_queries + This fixes logging the func ptr from _iterate_sinkpads(). + +2017-09-17 12:30:37 -0700 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: only set clipped_buffer to NULL if needed + +2017-09-17 12:25:37 -0700 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: rename check_events + This function also handles queries. Update the code to loop until all events and + queuries are handled. + +2017-09-17 12:24:54 -0700 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: add a few more comments to PadPrivate struct + +2017-09-17 11:39:12 -0700 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: rename buffers field to data + The queue stores buffers, events and queries. + +2017-09-17 10:18:56 -0700 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: documentaion fixes + Fix typos and remove params docs, where the param was moved. + +2017-09-05 14:26:52 +0200 Edward Hervey + + * tests/check/libs/aggregator.c: + check: Fix usage of dual probes + Using two (or more) probes on the same pad where one of the probe + returns HANDLED or DROP is tricky since the other probes might + not be called. + Instead use regular probes and a proper pad (the sinkpad already existed, + it only required to be activated and have a dummy chain function for + the events/buffers to be received/handled properly) + +2017-07-30 12:17:57 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: log all events + We already log a few events explicitly, just log them all with more detail. + +2017-07-29 16:54:38 +0100 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.h: + aggregator: fix header formatting + +2017-07-24 18:38:57 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Remove the GAP event from the queue before queueing up the GAP buffer + Otherwise check_events() will not remove the GAP event (as the queue + tail is not the event anymore but the GAP buffer), then the GAP buffer + is handled, then the GAP event is handled again, ... forever. + +2017-07-18 00:30:51 +0100 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.h: + aggregator: mark symbols explicitly for export with GST_EXPORT + +2017-07-13 22:00:58 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: remove duplicated code fragment + This code already runs above when (event || query). + +2017-07-13 21:55:55 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: code cleanups + Fix comment typos, some copy'n'paste in logging. Add more doc comments. + +2017-04-13 22:11:55 +0200 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: Invalidate pad's tail position ... + when dequeuing a segment event. + https://bugzilla.gnome.org/show_bug.cgi?id=784593 + +2017-07-01 20:23:25 +0200 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: fix "'aggclass' may be used uninitialized in this function" + +2017-05-23 00:53:57 +0200 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Process serialized queries through the queue + This ensures that they really get processed in order with + buffers. Just waiting for the queue to be empty is sometimes not + enough as the buffers are dropped from the pad before the result is + pushed to the next element, sometimes resulting in surprising + re-ordering. + +2017-05-23 00:53:23 +0200 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Set flow to FLUSHING on pad stop + Fixes a rare race where the pad is being stopped while doing a query. + +2016-11-18 14:44:16 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Request pad templates which are not request pad + https://bugzilla.gnome.org/show_bug.cgi?id=782920 + +2016-11-18 14:41:54 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Don't restrict sink pad names + Sink pads could have other names than sink_%u + https://bugzilla.gnome.org/show_bug.cgi?id=782920 + +2017-05-21 15:19:17 +0200 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Implement propose allocation + https://bugzilla.gnome.org/show_bug.cgi?id=782918 + +2017-05-21 14:34:13 +0200 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Check for the result of caps events + https://bugzilla.gnome.org/show_bug.cgi?id=782918 + +2017-05-21 14:28:00 +0200 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Caps event always goes to the aggregate thread + So no need to check it here. + https://bugzilla.gnome.org/show_bug.cgi?id=782918 + +2017-05-20 16:58:54 +0200 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Add downstream allocation query + https://bugzilla.gnome.org/show_bug.cgi?id=746529 + +2017-05-20 15:56:16 +0200 Olivier Crête + + * libs/gst/base/gstaggregator.h: + aggregator: Remove unused GST_FLOW_NOT_HANDLED + +2017-05-20 14:24:57 +0200 Matthew Waters + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: add simple support for caps handling + Modelled off the videoaggregator caps handling as that seems the most + mature aggregtor-using implementation that has caps handling there is. + https://bugzilla.gnome.org/show_bug.cgi?id=776931 + +2017-05-20 13:10:53 +0200 Nicolas Dufresne + + * libs/gst/base/gstaggregator.c: + aggregator: Reset upstream latency on first buffer + In the case an aggregator is created and pads are requested but only + linked later, we end up never updating the upstream latency. + This was because latency queries on pads that are not linked succeed, + so we never did a new query once a live source has been linked, so the + thread was never started. + https://bugzilla.gnome.org/show_bug.cgi?id=757548 + +2016-05-14 15:52:37 +0200 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Always handle sync'ed events on output thread + Having all synchronized events always be handled on the output + thread should make synchronization easier. + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2016-07-06 16:39:17 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Delay clipping to output thread + This is required because the synchronized events like caps or segments + may only be processed on the output thread. + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2016-07-07 16:13:57 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Make pad eos as soon as all buffers are processed, dont way for events + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2016-07-07 11:47:40 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Only count buffers when declaring queue full + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2016-07-06 16:41:44 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Simplify clip function + The return value was ignored anyway + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2016-05-15 16:04:58 +0300 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Only declare first buffer on actual buffer + The function needs to be unlocked if any data is received, but only + end the first buffer processing on an actual buffer, synchronized events + don't matter on the first buffer processing. + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2017-05-09 20:20:07 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Set initial position on first buffer + Set the initial position on the first buffer, otherwise the queue + will grow without limits before the output thread is started. + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2017-05-09 20:06:29 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Reset the pad's first buffer flag with the rest + There is not reason to have separate code to reset this one. + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2017-05-09 20:05:55 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Reset pad on init + Factor out the pad reset code from the flushing and use it on init as well + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2017-05-09 20:13:58 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Fix indentation + https://bugzilla.gnome.org/show_bug.cgi?id=781673 + +2017-03-08 15:01:13 -0300 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + docs: Port all docstring to gtk-doc markdown + +2017-04-12 12:06:52 -0300 Thibault Saunier + + * libs/gst/base/gstaggregator.h: + aggregator: Make instance var name match between .c and .h + Making GI happy + +2017-04-07 10:19:43 +0100 Vincent Penquerc'h + + * libs/gst/base/gstaggregator.c: + gstaggregator: fix event use after free + https://bugzilla.gnome.org/show_bug.cgi?id=781017 + +2016-09-06 16:05:53 -0300 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Use the event_full function for GstAggregatorPads + Allowing us to tell GstPad why we are failing an event, which might + be because we are 'flushing' even if the sinkpad is not in flush state + at that point. + +2016-05-25 13:38:47 -0400 Nicolas Dufresne + + * libs/gst/base/gstaggregator.c: + Revert "aggregator: Start the task when linked" + This reverts commit 302580c3815136d29479c3a8cae611d6e2ff3709. + +2016-04-13 16:30:28 -0400 Nicolas Dufresne + + * libs/gst/base/gstaggregator.c: + aggregator: Start the task when linked + Until now we would start the task when the pad is activated. Part of the + activiation concist of testing if the pipeline is live or not. + Unfortunatly, this is often too soon, as it's likely that the pad get + activated before it is fully linked in dynamic pipeline. + Instead, start the task when the first serialized event arrive. This is + a safe moment as we know that the upstream chain is complete and just + like the pad activation, the pads are locked, hence cannot change. + https://bugzilla.gnome.org/show_bug.cgi?id=757548 + +2016-04-22 10:15:39 -0400 Nicolas Dufresne + + * libs/gst/base/gstaggregator.c: + aggregator: Check all pads for data when live + When live, we still need to inspect all pads queue in order to determin + if we have received the first buffer or not. + https://bugzilla.gnome.org/show_bug.cgi?id=765431 + +2016-04-15 16:51:17 -0400 Nicolas Dufresne + + * libs/gst/base/gstaggregator.c: + aggregator: Fix locking when using the clock + This fixes a race where we check if there is a clock, then it get + removed and we endup calling gst_clock_new_single_shot_id() with a NULL + pointer instead of a valid clock and also calling gst_object_unref() + with a NULL pointer later. + https://bugzilla.gnome.org/show_bug.cgi?id=757548 + +2016-04-03 17:56:06 +0200 Aurélien Zanelli + + * libs/gst/base/gstaggregator.c: + aggregator: remove duplicated test of flow_return in pad_chain_internal + https://bugzilla.gnome.org/show_bug.cgi?id=764549 + +2016-03-28 13:52:07 +0300 Sebastian Dröge + + * tests/check/libs/aggregator.c: + aggregator: Fix leak in unit test + GST_PAD_PROBE_HANDLED means that we should've unreffed the probe data, + it was handled by us in one way or another. + +2016-03-27 19:06:50 +0530 Nirbheek Chauhan + + * libs/gst/base/gstaggregator.c: + aggregator: Fix strcmp test for sink template + +2016-03-27 18:41:30 +0530 Nirbheek Chauhan + + * libs/gst/base/gstaggregator.c: + aggregator: Don't try to be too smart while allocating pad names + Previously, while allocating the pad number for a new pad, aggregator was + maintaining an interesting relationship between the pad count and the pad + number. + If you requested a sink pad called "sink_6", padcount (which is badly named and + actually means number-of-pads-minus-one) would be set to 6. Which means that if + you then requested a sink pad called "sink_0", it would be assigned the name + "sink_6" again, which fails the non-uniqueness test inside gstelement.c. + This can be fixed by instead setting padcount to be 7 in that case, but this + breaks manual management of pad names by the application since it then becomes + impossible to request a pad called "sink_2". Instead, we fix this by always + directly using the requested name as the sink pad name. Uniqueness of the pad + name is tested separately inside gstreamer core. If no name is requested, we use + the next available pad number. + Note that this is important since the sinkpad numbering in aggregator is not + meaningless. Videoaggregator uses it to decide the Z-order of video frames. + +2016-03-04 15:50:26 +0900 Vineeth TM + + * tests/check/libs/aggregator.c: + bad: use new gst_element_class_add_static_pad_template() + https://bugzilla.gnome.org/show_bug.cgi?id=763081 + +2015-11-09 16:08:30 +0900 Hyunjun Ko + + * tests/check/libs/aggregator.c: + tests:aggregator: fix tc failure and correct check value + Failure by this commit 2dfa548f3645844082c3db65d96d87255701b3ad, which is + to append hooks instead of prepend. + Because of this change, aggretated_cb is not called and leads to failure. + And correct to check flush stop value instead of flush start value + https://bugzilla.gnome.org/show_bug.cgi?id=757801 + +2015-11-05 12:36:48 +0000 Luis de Bethencourt + + * libs/gst/base/gstaggregator.c: + aggregator: use GST_STIME_FORMAT for GstClockTimeDiff + No need to manually handle negative value of deadline, GST_STIME_FORMAT does + exactly this. + +2015-11-03 19:09:33 -0800 Stefan Sauer + + * libs/gst/base/gstaggregator.c: + aggregator: don't compare templ instance pointers + One can pass the PadTemplate from the element_class or the one from the factory. + While they have the same content, the addresses are different. + +2015-11-03 14:41:57 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Set to running in a single place + Only set to running when the thread is actually started. + +2015-11-03 14:37:26 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Document more locking + +2015-11-02 20:10:35 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Hold object lock while manipulating the segment + Make sure the object lock is held when aggregator->segment is + modified. + +2015-11-02 19:05:01 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Remove dead code + This code will never be called as max>=min in all cases. If the upstream + latency query returned min>max, the function already returned and all + values that are added to those have max>= min. + +2015-10-23 15:42:24 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Add create_new_pad() vfunc to allow subclasses to override the default behaviour + Not all aggregator subclasses will have a single pad template called sink_%u + and might do something special depending on what the application requests. + https://bugzilla.gnome.org/show_bug.cgi?id=757018 + +2015-09-30 19:05:35 +0200 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Convert GST_ERROR_OBJECT() for seek events to GST_DEBUG_OBJECT() + +2015-09-30 19:03:05 +0200 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: For the start time selection, only set the segment position + segment.time and segment.start can stay the same, and were always the same + before anyway because of a mistake. + https://bugzilla.gnome.org/show_bug.cgi?id=755623 + +2015-08-31 16:12:40 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Don't forward QOS events to sinkpads that had no buffer yet + Otherwise they will receive a QOS event that has earliest_time=0 (because we + can't have negative timestamps), and consider their buffer as too late + https://bugzilla.gnome.org/show_bug.cgi?id=754356 + +2015-09-17 19:42:34 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Keep at least two buffers in the queue in live mode + When in live mode, the queue needs to hold the currently processed + buffer and one more at least. + https://bugzilla.gnome.org/show_bug.cgi?id=754851 + +2015-09-11 12:21:50 +0200 Sebastian Dröge + + * libs/gst/base/gstaggregator.h: + aggregator: Document that get_next_time() should return running time + https://bugzilla.gnome.org/show_bug.cgi?id=753196 + +2015-08-28 23:05:20 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Also ignore start-time on seek from gst_element_send_event() + https://bugzilla.gnome.org/show_bug.cgi?id=753806 + +2015-07-02 19:34:43 -0400 Olivier Crête + + * tests/check/libs/aggregator.c: + tests: Add test for seeking live pipelines + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-07-02 19:19:33 -0400 Olivier Crête + + * tests/check/libs/aggregator.c: + tests: Make source live to re-enable aggregator timeout tests + The live mode is only enabled if one of the sources if live. + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-03-06 19:50:08 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Queue "latency" buffers at each sink pad. + In the case where you have a source giving the GstAggregator smaller + buffers than it uses, when it reaches a timeout, it will consume the + first buffer, then try to read another buffer for the pad. If the + previous element is not fast enough, it may get the next buffer even + though it may be queued just before. To prevent that race, the easiest + solution is to move the queue inside the GstAggregatorPad itself. It + also means that there is no need for strange code cause by increasing + the min latency without increasing the max latency proportionally. + This also means queuing the synchronized events and possibly acting + on them on the src task. + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-07-29 20:07:09 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Default to "zero" start time selection mode as documented + +2015-07-29 20:06:11 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Ignore the "first" mode if the segment not a time segment + +2015-06-15 18:30:20 +0200 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Add property to select how to decide on a start time + Before aggregator based elements always started at running time 0, + now it's possible to select the first input buffer running time or + explicitly set a start-time value. + https://bugzilla.gnome.org/show_bug.cgi?id=749966 + +2015-07-28 21:15:43 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Query the peer latency again on the next opportunity after a pad was added or removed + Adding a pad will add a new upstream that might have a bigger minimum latency, + so we might have to wait longer. Or it might be the first live upstream, in + which case we will have to start deadline based aggregation. + Removing a pad will remove a new upstream that might have had the biggest + latency, so we can now stop waiting a bit earlier. Or it might be the last + live upstream, in which case we can stop deadline based aggregation. + +2015-05-06 13:07:52 -0300 Thiago Santos + + * libs/gst/base/gstaggregator.h: + aggregator: add a convenience macro to get the source pad + Easier than casting or acessing the parent everywhere + +2015-06-01 18:50:14 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Document that the latency is in ns + +2015-05-28 00:59:39 +1000 Jan Schmidt + + * libs/gst/base/gstaggregator.c: + aggregator: Push EOS on error return. + Before shutting down the srcpad task due to a + downstream error, push an EOS to give downstream + a chance to shut down somewhat cleanly. + +2015-03-29 17:53:23 -0300 Reynaldo H. Verdejo Pinochet + + * libs/gst/base/gstaggregator.c: + aggregator: document gap handling behavior + https://bugzilla.gnome.org/show_bug.cgi?id=746249 + +2015-03-27 19:36:42 -0300 Reynaldo H. Verdejo Pinochet + + * libs/gst/base/gstaggregator.c: + aggregator: drop stale white space at warning + +2015-03-27 19:28:05 -0300 Reynaldo H. Verdejo Pinochet + + * tests/check/libs/aggregator.c: + aggregator: fix typo in test suite + +2015-03-27 18:32:27 -0300 Reynaldo H. Verdejo Pinochet + + * tests/check/libs/aggregator.c: + aggregator: add gap event handling unit test + https://bugzilla.gnome.org/show_bug.cgi?id=746249 + +2015-03-17 22:13:06 -0300 Reynaldo H. Verdejo Pinochet + + * libs/gst/base/gstaggregator.c: + aggregator: implement gap handling + https://bugzilla.gnome.org/show_bug.cgi?id=746249 + +2015-04-01 22:10:11 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Unify downstream flow return and flushing + Also means that having a non-OK downstream flow return + wakes up the chain functions. + https://bugzilla.gnome.org/show_bug.cgi?id=747220 + +2015-04-01 21:45:01 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Flushing is always in pad lock, no need to atomics + The usage of atomics was always doubtful as it was used to release a + GCond + https://bugzilla.gnome.org/show_bug.cgi?id=747220 + +2015-04-01 21:38:11 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Reset pending_eos on pad flush + https://bugzilla.gnome.org/show_bug.cgi?id=747220 + +2015-04-01 21:37:25 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Unify code to set a pad flushing + https://bugzilla.gnome.org/show_bug.cgi?id=747220 + +2015-03-06 21:12:52 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Query latency on first incoming buffer. + And keep on querying upstream until we get a reply. + Also, the _get_latency_unlocked() method required being calld + with a private lock, so removed the _unlocked() variant from the API. + And it now returns GST_CLOCK_TIME_NONE when the element is not live as + we think that 0 upstream latency is possible. + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-03-06 21:12:13 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Be more aggressive with invalid replies to our latency query + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-03-08 02:04:11 +1100 Matthew Waters + + * libs/gst/base/gstaggregator.h: + aggregatory: don't redefine GST_FLOW_CUSTOM_SUCCESS + +2015-02-27 00:26:00 +0530 Arun Raghavan + + * libs/gst/base/gstaggregator.c: + aggregator: Use standard upstream latency querying logic + The same functionality is duplicated in the default latency querying + now. + +2015-02-19 21:21:56 -0500 Olivier Crete + + * libs/gst/base/gstaggregator.c: + aggregator: Use src_lock to protect latency related members + One has to use the src_lock anyway to protect the min/max/live so they + can be notified atomically to the src thread to wake it up on changes, + such as property changes. So no point in having a second lock. + Also, the object lock was being held across a call to + GST_ELEMENT_WARNING, guaranteeing a deadlock. + +2015-02-19 18:53:32 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Remove untrue comment + +2015-02-19 18:30:35 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Don't try to push tags while flush seeking + The downstream segment could have been flushed already, so + need to re-send the segment event before re-sending the tags. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-19 11:04:28 +0200 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Use the sinkpads iterator directly to query upstream latencies + While gst_aggregator_iterate_sinkpads() makes sure that every pad is only + visited once, even when the iterator has to resync, this is not all we have + to do for querying the latency. When the iterator resyncs we actually have + to query all pads for the latency again and forget our previous results. It + might have happened that a pad was removed, which influenced the result of + the latency query. + +2015-02-19 10:57:09 +0200 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Move gst_aggregator_get_latency_unlocked() a bit + It was between another function and its helper function before, which was + confusing when reading the code as it had nothing to do with the other + functions. + +2015-02-19 01:28:06 +0200 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Fail the latency query if one of the upstream queries fails + +2015-02-18 15:53:53 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Document locking order + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-18 15:11:14 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCK + This will match the name of the lock itself. It is also not a stream + lock as it not recursive and not held while pushing. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-18 15:06:01 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Rename confusingly named stream lock to flush lock + This lock is not what is commonly known as a "stream lock" in GStremer, + it's not recursive and it's taken from the non-serialized FLUSH_START event. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-18 15:04:04 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Fix macro indendation + Changes no code + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-13 23:45:20 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: drop GAP events until we handle them properly + +2015-02-13 15:53:19 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + * tests/check/libs/aggregator.c: + aggregator: use new gst_aggregator_pad_drop_buffer() + +2015-02-13 15:49:50 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: add gst_aggregator_pad_drop_buffer() + steal_buffer() + unref seems to be a wide-spread idiom + (which perhaps indicates that something is not quite + right with the way aggregator pad works currently). + +2015-02-12 13:32:39 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: only post latency message if anything changed + Perhaps we should check for element state as well and + only post it if in PLAYING state. + +2015-02-11 14:16:21 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + Improve and fix LATENCY query handling + This now follows the design docs everywhere, especially the maximum latency + handling. + https://bugzilla.gnome.org/show_bug.cgi?id=744106 + +2015-02-10 10:49:16 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Pause srcpad task on flow errors + Otherwise we will call the task function over and over again until + upstream finally handled the flow return and shuts us down. + +2015-02-06 10:59:27 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Streamline latency calculations + Min latency can never be invalid, latency property can never be invalid + either. So no need to check for all these things in various places. + +2015-02-06 10:36:28 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: If upstream has no max latency but the subclass has, take the subclass max latency + +2015-02-06 10:33:59 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Fix min>max latency error check + We have to include the upstream latency, our own latency and the subclass + latency in the calculations. + FIXME: This is still not entirely correct + +2015-02-06 10:30:59 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Don't add the latency property to the max latency + It has no meaning for the max latency and is only used to increase the min + latency. + +2015-01-26 17:06:29 +0100 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Cleanup locking around AggregatorPad flush related fields + And document the locking + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-26 13:11:05 +0100 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: keep chain functions as dumb as possible. + + A pad chain function has no business checking other pads, + that's what the aggregate thread is for. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-26 11:32:47 +0100 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: More fixes around locking when accessing protected private fields + In some more places we were accessing GstAggregator->segment + and GstAggregator->seqnum without holding the GST_OBJECT_LOCK + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-26 11:29:08 +0100 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Make the PAD_LOCK private + Instead of using the GST_OBJECT_LOCK we should have + a dedicated mutex for the pad as it is also associated + with the mutex on the EVENT_MUTEX on which we wait + in the _chain function of the pad. + The GstAggregatorPad.segment is still protected with the + GST_OBJECT_LOCK. + Remove the gst_aggregator_pad_peak_unlocked method as it does not make + sense anymore with a private lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-26 11:25:54 +0100 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + * tests/check/libs/aggregator.c: + aggregator: Hide GstAggregatorPad buffer and EOS fileds + And add a getter for the EOS. + The user should always use the various getters to access + those fields + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:41:43 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Document locking of GstAggregatorPrivate members + Most of them are protected by the object lock, specify + which ones use a different lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:47:09 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.h: + aggregator: Document how the segment is protected + Document that it can only be accessed with the object lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:44:57 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Protect all latency related members with the object lock + The locking was not consistent, now consistently use the object lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:43:12 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Document locking for gst_aggregator_get_latency_unlocked() + Renamed it to _unlocked() to make it clear. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:35:25 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Protect the srcpad caps negotiation with the stream lock + Instead of adding another lock, use the srcpad stream lock, which is already + taken anyway to push out the new caps if needed. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:33:18 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Protect the tags with the object lock + The tags related variables were sometimes protected, sometimes not and + sometimes atomic. Put them all under the object lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:53:20 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Consistenly lock the flow_return state + Use the object's lock to protect it. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:45:36 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Consistently lock some members + Some members sometimes used atomic access, sometimes where not locked at + all. Instead consistently use a mutex to protect them, also document + that. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-14 14:38:09 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Protect exported pad members with the pad's object lock + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-14 14:35:15 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Replace event lock with pad's object lock + Reduce the number of locks simplify code, what is protects + is exposed, but the lock was not. + Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer(). + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-09 22:01:00 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Protect data with the same mutex as GCond + Whenever a GCond is used, the safest paradigm is to protect + the variable which change is signalled by the GCond with the same + mutex that the GCond depends on. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-14 23:47:19 +0530 Nirbheek Chauhan + + * libs/gst/base/gstaggregator.c: + aggregator: Nitpick spacing/punctuation in debug logging + +2015-01-09 21:51:40 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Remove pointless atomic + It is only modified from the streaming thread + +2015-01-09 21:30:36 -0500 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Fix query leak + +2015-01-09 16:43:39 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Print jitter from clock waiting in the debug logs + +2015-01-04 17:15:37 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: don't use iterator when setting flush pending on pads + +2015-01-04 16:57:05 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: check if pads are ready more efficiently + No need to use an iterator for this which creates a temporary + structure every time and also involves taking and releasing the + object lock many times in the course of iterating. Not to mention + all that GList handling in gst_aggregator_iterate_sinkpads(). + +2015-01-04 12:59:19 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.h: + aggregator: name vfunc arguments consistently + +2015-01-01 15:46:00 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: add g-i transfer and scope annotations + +2015-01-01 14:10:05 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: register names of iterate_sinkpads functions with debug system + +2015-01-01 14:03:02 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: reduce debug messages for taking/releasing logs to TRACE level + Don't spam debug log with this stuff. + +2014-12-31 18:16:21 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: move property member into private structure + Our locking (or lack thereof) while accessing this also + looks generally quite dodgy. + +2014-12-31 14:50:58 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: remove empty dispose function + +2014-12-30 23:58:34 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: give private functions namespace prefix + Especially the GST_DEBUG_FUNCPTR ones. + +2014-12-31 12:35:06 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.h: + aggregator: fix up some docs comments in header + +2014-12-30 23:44:46 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: remove now-unused system clock member + +2014-12-30 19:22:01 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad + +2014-12-30 17:50:17 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: bring start/stop vfunc semantics in line with other baseclasses + Sub-class should not have to chain up to GstAggregator's start/stop + vfuncs, same as in GstBaseSrc, GstBaseSink, GstBaseTransform etc. + +2014-12-28 18:26:49 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: remove pointless GST_DEBUG_FUNCPTR + Not useful for GObject vfuncs. + +2014-12-28 18:24:21 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: remove duplicate pad parent_class variable + G_DEFINE_TYPE already provides one, just need to use it. + +2014-12-28 18:22:57 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.h: + aggregator: add _CAST() variants for cast macros + +2014-12-28 01:13:33 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.h: + aggregator: make padding larger + Esp. the class structures, can't have enough + spare space for virtual functions. + +2014-12-27 16:15:41 +0530 Nirbheek Chauhan + + * libs/gst/base/gstaggregator.c: + aggregator: Log to the pad instead of the element + More correct way of doing the same thing as before + +2014-12-27 09:49:43 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE + +2014-12-27 09:42:57 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Wait for the minimum latency, not the maximum + The minimum latency is the latency we have to wait at least + to guarantee that all upstreams have produced data. The maximum + latency has no meaning like that and shouldn't be used for waiting. + +2014-12-27 04:21:36 +0530 Nirbheek Chauhan + + * libs/gst/base/gstaggregator.c: + aggregator: Clamp the min latency at the max if it's greater + +2014-12-27 04:21:26 +0530 Nirbheek Chauhan + + * libs/gst/base/gstaggregator.c: + aggregator: Print the sinkpad name while logging latency queries + Very useful while debugging. + +2014-12-27 04:19:52 +0530 Nirbheek Chauhan + + * libs/gst/base/gstaggregator.c: + aggregator: Take the stream lock when iterating sink pads + When iterating sink pads to collect some data, we should take the stream lock so + we don't get stale data and possibly deadlock because of that. This fixes + a definitive deadlock in _wait_and_check() that manifests with high max + latencies in a live pipeline, and fixes other possible race conditions. + +2014-12-23 11:45:05 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Don't leak flush-start events + +2014-12-23 10:24:27 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Also change the default latency to 0, not just the minimum + +2014-12-23 09:52:20 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Fix docs and default value of the latency property + +2014-12-22 22:19:52 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Also include the subclass latency in the result of the latency query + +2014-12-22 15:26:37 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Post a latency message if the value of the latency property changes + +2014-12-22 15:03:59 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Wake up the src thread after handling a latency query + Due to changed latencies or changed live-ness we might have to + adjust if we wait on a deadline at all and how long. + +2014-12-22 15:00:36 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Don't count the number of times we need to wake up but instead check all conditions for waiting again + This simplifies the code and also makes sure that we don't forget to check all + conditions for waiting. + Also fix a potential deadlock caused by not checking if we're actually still + running before starting to wait. + +2014-12-17 19:51:32 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Add function to allow subclasses to set their own latency + For audiomixer this is one blocksize, for videoaggregator this should + be the duration of one output frame. + +2014-12-17 17:54:09 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + * tests/check/libs/aggregator.c: + aggregator: Add a timeout parameter to ::aggregate() + When this is TRUE, we really have to produce output. This happens + in live mixing mode when we have to output something for the current + time, no matter if we have enough input or not. + +2014-12-16 19:49:35 +0000 Tim-Philipp Müller + + * tests/check/libs/aggregator.c: + tests: fix aggregator unit test after property renaming + +2014-12-16 17:33:01 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Some minor cleanup + +2014-12-05 18:19:54 +1100 Matthew Waters + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: make the src pad task drive the pipeline for live pipelines + This removes the uses of GAsyncQueue and replaces it with explicit + GMutex, GCond and wakeup count which is used for the non-live case. + For live pipelines, the aggregator waits on the clock until either + data arrives on all sink pads or the expected output buffer time + arrives plus the timeout/latency at which time, the subclass + produces a buffer. + https://bugzilla.gnome.org/show_bug.cgi?id=741146 + +2014-12-14 01:29:26 +0100 Sebastian Rasmussen + + * tests/check/libs/aggregator.c: + tests/aggregator: Use correct type when setting property + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741495 + +2014-11-19 17:17:06 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Unblock events/queries immediately if the pad is flushing + https://bugzilla.gnome.org/show_bug.cgi?id=740376 + +2014-11-19 17:15:02 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Drop serialized events/queries if the pad is flushing + https://bugzilla.gnome.org/show_bug.cgi?id=740376 + +2014-11-19 17:03:41 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Block serialized events/queries until the pad has consumed all buffers + Otherwise the caps of the pad might change while the subclass still works with + a buffer of the old caps, assuming the the current pad caps apply to that + buffer. Which then leads to crashes and other nice effects. + https://bugzilla.gnome.org/show_bug.cgi?id=740376 + +2014-11-19 17:03:33 +0100 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Fix typo in debug output + +2014-11-17 14:00:10 +1100 Matthew Waters + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: add _get_latency() for subclass usage + API: gst_aggregator_get_latency + https://bugzilla.gnome.org/show_bug.cgi?id=739996 + +2014-10-20 18:25:08 +0530 Vineeth T M + + * libs/gst/base/gstaggregator.c: + audiomixer: critical error for blocksize, timeout min/max values + Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1 + timeout value of aggregator is defined with MAX of MAXINT64, + but it cannot cross G_MAXLONG * GST_SECOND - 1 + Hence changed the max value of the same + https://bugzilla.gnome.org/show_bug.cgi?id=738845 + +2014-10-07 16:57:27 +1100 Matthew Waters + + * tests/check/libs/aggregator.c: + tests/aggregator: add timeout handling test for the timeout parameter + +2014-10-06 21:46:24 +1100 Matthew Waters + + * libs/gst/base/gstaggregator.c: + aggregator: add latency query handling + +2014-10-06 18:23:03 +1100 Matthew Waters + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: add a timeout property determining buffer wait time + Determines the amount of time that a pad will wait for a buffer before + being marked unresponsive. + Network sources may fail to produce buffers for an extended period of time, + currently causing the pipeline to stall possibly indefinitely, waiting for + these buffers to appear. + Subclasses should render unresponsive pads with either silence (audio), the + last (video) frame or what makes the most sense in the given context. + +2014-09-17 16:48:02 +0200 Jan Alexander Steffens (heftig) + + * libs/gst/base/gstaggregator.c: + aggregator: Replace GMainContext with GAsyncQueue (v2) + The previous implementation kept accumulating GSources, + slowing down the iteration and leaking memory. + Instead of trying to fix the main context flushing, replace + it with a GAsyncQueue which is simple to flush and has + less overhead. + https://bugzilla.gnome.org/show_bug.cgi?id=736782 + +2014-08-05 15:36:30 +0200 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: Set seqnum only when segments are received. + +2014-08-02 18:25:01 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Add a streaming lock so to secure flush start action + Without a lock that is taken in FLUSH_START we had a rare race where we + end up aggregating a buffer that was before the whole FLUSH_START/STOP + dance. That could lead to very wrong behaviour in subclasses. + +2014-07-18 13:58:55 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Query seeking when a seek failed to see if it was expected + And do not worry if seeking failed on a stream that is not seekable + +2014-07-18 01:41:26 +0200 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: set future seqnum before propagating the seek event. + So the seqnum is properly set for the following events. + +2014-07-08 16:16:55 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Store segment when seeked in READY for later use + +2014-10-06 10:11:23 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Unref the taglist in GstAggregator::stop() + +2014-10-03 12:34:15 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Take lock to ensure set_caps is not called concurently + Avoiding to be in an inconsistent state where we do not have + actual negotiate caps set as srccaps and leading to point where we + try to unref ->srccaps when they have already been set to NULL. + https://bugzilla.gnome.org/show_bug.cgi?id=735042 + +2014-08-11 23:38:40 +1000 Matthew Waters + + * libs/gst/base/gstaggregator.c: + aggregator: fix up doc comment for set_src_caps + It does not occur 'later' anymore + https://bugzilla.gnome.org/show_bug.cgi?id=732662 + +2014-08-07 19:54:36 +1000 Matthew Waters + + * libs/gst/base/gstaggregator.c: + videoaggregator: push the caps event as soon as we receive it + Along with the required mandatory dependent events. + Some elements need to perform an allocation query inside + ::negotiated_caps(). Without the caps event being sent prior, + downstream elements will be unable to answer and will return + an error. + https://bugzilla.gnome.org/show_bug.cgi?id=732662 + +2014-07-16 16:57:35 +0200 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: Reset flow_return *after* stopping the srcpad task. + Otherwise it might be set in an already running aggregate function. + +2014-07-10 13:18:21 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Flush sinkpads when stopping + All values are meaningless in that case, so we should make sure that + we clean everything + +2014-07-10 13:15:55 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Do not forget to reset the flow return when stoping + Setting it to FLUSHING when the element is not started, and to OK + when it starts. + +2014-07-08 16:48:08 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Handle event seqnum + +2014-07-06 16:17:06 +0100 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: fix locking + We would unlock a mutex we never locked on SEGMENT + events. + +2014-06-30 12:22:07 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + * tests/check/libs/aggregator.c: + aggregator: Avoid destroying sources we do not own + + Unref the maincontext in a new dispose function + + Make sure to remove all sources on dispose + https://bugzilla.gnome.org/show_bug.cgi?id=732445 + +2014-06-28 11:20:43 -0300 Thiago Santos + + * tests/check/libs/aggregator.c: + tests: aggregator: fix various leaks in the tests + +2014-06-28 09:34:05 -0300 Thiago Santos + + * libs/gst/base/gstaggregator.c: + aggregator: always store or unref the buffer on the _chain function + Otherwise it leaks, and it is very common to go to flushing when the + pipeline is stopping, leaking a buffer. + +2014-06-28 09:32:32 -0300 Thiago Santos + + * libs/gst/base/gstaggregator.c: + aggregator: always unref the buffer on _finish function + Otherwise the user doesn't know if it was unref'd or not + +2014-06-28 09:31:55 -0300 Thiago Santos + + * libs/gst/base/gstaggregator.c: + aggregator: add dispose/finalize functions + Add functions to be able to cleanup the mutex/cond and pending buffers + on the aggregator and on its pad + +2014-06-26 10:53:16 +1000 Matthew Waters + + * libs/gst/base/gstaggregator.c: + aggregator: plug a memory leak of the srccaps + +2014-06-21 16:51:01 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.h: + libs:base: Properly declare APIs as UNSTABLE + +2014-06-21 13:45:13 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + aggregator: Fix requested pad name + +2014-05-22 19:44:37 +0200 Thibault Saunier + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + * tests/check/libs/aggregator.c: + aggregator: Add new GstAggregator base class + This base class has been added to a newly created libgstbadbase library + Co-Authored by: Mathieu Duponchelle + https://bugzilla.gnome.org/show_bug.cgi?id=731917 + +2017-12-02 12:02:15 +0000 Tim-Philipp Müller + + * tests/check/gst/gstinfo.c: + tests: info: add test for post-gst_init() category registration perf + When registering categories after gst_init() we would re-check *all* + categories against the existing GST_DEBUG patterns again, whereas + it's enough to just check the new category. Moreover, we would parse + the GST_DEBUG pattern string again and re-add that to the existing + pattern list for every newly-registered debug category, and then + check that against all categories of course. This made registering + categories after gst_init() very very slow. + +2017-12-02 12:29:20 +0000 Tim-Philipp Müller + + * gst/gstinfo.c: + info: always check match patterns for new debug categories + Not only if a match pattern was set originally via GST_DEBUG. + Patterns might be set programmatically as well after all. + +2017-12-02 12:22:47 +0000 Tim-Philipp Müller + + * gst/gstinfo.c: + info: fix performance issue with registering categories after gst_init() + When registering a new debug category after gst_init(), simply check + the existing patterns against that new category. + No need to iterate over all categories and recheck them all against + the existing patterns. + Also, no need to re-parse the existing pattern string set via GST_DEBUG + and add the same set of match patterns all over again to the existing + list of match patterns every time we register a new debug category. + Combined with iterating all debug categories on a change this would + make adding debug categories after gst_init() very very very slow. + +2017-12-01 13:33:48 -0500 Nicolas Dufresne + + * gst/gstplugin.c: + plugin-scanner: Measure string length in bytes + g_strndup() wants a number of bytes to copy, so use strlen intead of + UTF-8 strlen function. + +2017-11-30 17:49:10 +0100 Michael Tretter + + * libs/gst/net/gstptpclock.c: + ptpclock: do not require a name to create a clock + The gst_ptp_clock_new() does not actually require a name. However, for + example the rtpjitterbuffer may create a clock without a name, fail, and + fall back to not using the PTP clock. + https://bugzilla.gnome.org/show_bug.cgi?id=791034 + +2017-11-28 23:37:47 +0000 Tim-Philipp Müller + + * tools/gst-inspect.c: + tools: gst-inspect: fix readable flag printing for pad properties + +2017-11-27 20:09:42 +1100 Matthew Waters + + * common: + Automatic update of common submodule + From 3f4aa96 to e8c7a71 + +2017-11-26 13:31:28 -0300 Thibault Saunier + + * gst/gstpreset.c: + Revert "preset: Do not save deprecated properties" + This reverts commit 81e10f61231ad56ca4aa07278993b87c6ec0f058. + A mistake lead to committing it twice in a weird way. + +2017-11-03 12:20:47 -0300 Thibault Saunier + + * gst/gstpreset.c: + preset: Do not save deprecated properties + It will g_warn upon deserialization and we should not use + those anyway. + https://bugzilla.gnome.org/show_bug.cgi?id=789871 + +2017-11-08 12:46:44 -0300 Thibault Saunier + + * gst/gsttaglist.c: + taglist: Avoid assertions when getting tag nick from unregister tag + With serialized GstDiscovererInfos we might end up trying to use + tags that have not been registered. + +2017-11-03 12:23:50 -0300 Thibault Saunier + + * gst/gstpreset.c: + preset: Do not save deprecated properties + It will g_warn upon desarialization and we should not use + those anyway. + https://bugzilla.gnome.org/show_bug.cgi?id=789871 + +2017-10-13 00:21:03 +0100 Tim-Philipp Müller + + * plugins/tracers/Makefile.am: + * plugins/tracers/gstlog.c: + tracers: log: no need to link to our internal printf implementation + The call to __gst_vasprintf() was removed in commit 1a3e218b8. + +2017-11-26 00:20:13 +0000 Tim-Philipp Müller + + * tools/gst-inspect.c: + tools: gst-inspect: don't print element flags whch are always 'none' + We print the interesting flags like clocking capabilities separately + later, this function just always prints 'none', so remove it. + +2017-11-25 23:43:56 +0000 Tim-Philipp Müller + + * gst/gstpadtemplate.c: + * tools/gst-inspect.c: + tools: gst-inspect: print pad properties where we know the subclass type + +2017-11-25 22:27:08 +0000 Tim-Philipp Müller + + * tools/gst-inspect.c: + tools: gst-inspect: refactor way indentation is done during printing + +2017-11-25 13:07:12 +0100 Edward Hervey + + * gst/gstinfo.c: + gstinfo: Use free instead of g_free + Because + +2017-11-25 12:44:11 +0100 Edward Hervey + + * gst/gstinfo.c: + gstinfo: Don't leak array of strings + The array provided by backtrace_symbols needs to be freed. + +2017-11-24 12:08:07 +0100 Edward Hervey + + * tests/check/gst/gstbuffer.c: + check/buffer: Remove usless memcmp with empty size + 1) checking nothing against nothing is pointless + 2) memcmp needs to be provided non-NULL arguments + +2017-11-24 12:05:26 +0100 Edward Hervey + + * gst/gstutils.c: + gstutils: Fix linear regression comparision + The check for dropping precision was wrong when sxx and syy were negative. + if they are negative then "G_MAXINT64 - val" would always overflow + The check was meant to use G_MININT64 (like in the loop contained just + after). + +2017-11-24 13:58:01 +1100 Matthew Waters + + * libs/gst/check/Makefile.am: + check: add missing harness function to symbol export list + Fixes in user code: + undefined reference to `gst_harness_add_element_sink_pad' + Also reorder harness function list to be strictly in alphabetical order and + double check the list with: + awk '{ if ($1 !~ /#define/) if ($2 ~ /gst_harness_/) { print $2 }; if ($3 ~ /gst_harness_/) { print $3} }' libs/gst/check/gstharness.h | sort + +2017-11-24 13:41:20 +0100 Tim-Philipp Müller + + * tests/check/elements/capsfilter.c: + * tests/check/elements/dataurisrc.c: + * tests/check/elements/fakesink.c: + * tests/check/elements/fakesrc.c: + * tests/check/elements/fdsrc.c: + * tests/check/elements/filesink.c: + * tests/check/elements/filesrc.c: + * tests/check/elements/identity.c: + * tests/check/elements/multiqueue.c: + * tests/check/elements/queue.c: + * tests/check/elements/queue2.c: + * tests/check/elements/selector.c: + * tests/check/elements/tee.c: + * tests/check/elements/valve.c: + * tests/check/generic/sinks.c: + * tests/check/generic/states.c: + * tests/check/gst/gst.c: + * tests/check/gst/gstabi.c: + * tests/check/gst/gstatomicqueue.c: + * tests/check/gst/gstbin.c: + * tests/check/gst/gstbufferlist.c: + * tests/check/gst/gstbufferpool.c: + * tests/check/gst/gstbus.c: + * tests/check/gst/gstcaps.c: + * tests/check/gst/gstcapsfeatures.c: + * tests/check/gst/gstchildproxy.c: + * tests/check/gst/gstclock.c: + * tests/check/gst/gstcontext.c: + * tests/check/gst/gstcontroller.c: + * tests/check/gst/gstcpp.cc: + * tests/check/gst/gstevent.c: + * tests/check/gst/gstghostpad.c: + * tests/check/gst/gstindex.c: + * tests/check/gst/gstinfo.c: + * tests/check/gst/gstiterator.c: + * tests/check/gst/gstmessage.c: + * tests/check/gst/gstminiobject.c: + * tests/check/gst/gstpad.c: + * tests/check/gst/gstparamspecs.c: + * tests/check/gst/gstplugin.c: + * tests/check/gst/gstpoll.c: + * tests/check/gst/gstpreset.c: + * tests/check/gst/gstprintf.c: + * tests/check/gst/gstpromise.c: + * tests/check/gst/gstprotection.c: + * tests/check/gst/gstquery.c: + * tests/check/gst/gstsegment.c: + * tests/check/gst/gststream.c: + * tests/check/gst/gststructure.c: + * tests/check/gst/gstsystemclock.c: + * tests/check/gst/gsttag.c: + * tests/check/gst/gsttagsetter.c: + * tests/check/gst/gsttask.c: + * tests/check/gst/gsttoc.c: + * tests/check/gst/gsttocsetter.c: + * tests/check/gst/gsttracerrecord.c: + * tests/check/gst/gsturi.c: + * tests/check/gst/gstvalue.c: + * tests/check/libs/adapter.c: + * tests/check/libs/gstharness.c: + * tests/check/libs/gstnetclientclock.c: + * tests/check/libs/gstnettimeprovider.c: + * tests/check/libs/gsttestclock.c: + tests: include config.h and don't include unix headers + In many cases the unistd.h includes weren't actually needed. + Preparation for making tests work on Windows with MSVC. + +2017-11-24 13:21:47 +0100 Tim-Philipp Müller + + * tests/check/libs/test_transform.c: + tests: add missing license header to test_transform.c + +2017-11-10 16:26:50 +0100 Mikhail Fludkov + + * configure.ac: + * gst/gsttracerutils.c: + * gst/gsttracerutils.h: + * plugins/Makefile.am: + gsttraceutils: actually disable tracing system hooks if configured + `./configure --disable-gst-tracer-hooks` didn't do anything, hooks were + always enabled regardless of the option. It works correctly in the + Meson build though. + +2017-10-26 12:09:07 +0200 Havard Graff + + * docs/gst/gstreamer-sections.txt: + * gst/gstutils.c: + * gst/gstutils.h: + * win32/common/libgstreamer.def: + utils: add gst_utils_dump_buffer() + Useful for debugging. + +2017-10-10 15:44:51 +0200 Håvard Graff + + * pkgconfig/meson.build: + meson.build: use join_paths() on prefix + So that "/" are correct on Windows and the paths in + the .pc files are like C:/some/where and not + C:\some\where. + +2017-11-24 09:49:27 +0100 Tim-Philipp Müller + + * libs/gst/base/gstbasetransform.c: + * libs/gst/net/gstptpclock.c: + libs: fix indentation + +2017-08-18 14:30:32 +0200 Stian Selnes + + * gst/gstpad.c: + * tests/check/gst/gstghostpad.c: + pad: gst_pad_activate_mode() always succeed if same mode + Checking that the pad is in the correct mode before the parent is + checked makes the call always succeed if the mode is ok. + This fixes a race with ghostpad where gst_pad_activate_mode() could + trigger a g_critical() if the ghostpad is unparented while the + proxypad is deactivating, for instance if the ghostpad is released. + More specifically, gst_ghost_pad_internal_activate_push_default()'s + call to gst_pad_activate_mode() would fail if ghostpad doesn't have a + parent. With this patch it will return true of mode is already + correct. + +2017-03-31 16:36:05 +0200 Havard Graff + + * libs/gst/base/gstbasetransform.c: + * plugins/elements/gstfunnel.c: + * plugins/elements/gstfunnel.h: + gstbasetranform: replace GST_BASE_TRANSFORM with GST_BASE_TRANSFORM_CAST + To avoid a global type-lock on chain etc. + +2017-11-24 09:53:41 +0100 Tim-Philipp Müller + + * gst/gstghostpad.c: + ghostpad: return TRUE if target pad was already set + The state is as it should be, so no reason to return + FALSE really, everything's good. + +2017-11-24 09:40:07 +0100 Tim-Philipp Müller + + * gst/gstghostpad.c: + ghostpad: access internal pad with lock held + +2017-03-30 09:17:08 +0200 Havard Graff + + * gst/gstghostpad.c: + * tests/check/gst/gstghostpad.c: + ghostpad: fix race-condition while tearing down + An upstream query will take a ref on the internal proxypad, and can + hence end up owning the last reference to that pad, causing a crash. + +2013-03-23 13:44:51 +0100 Haakon Sporsheim + + * libs/gst/check/gstcheck.c: + check: Add test suite time elapsed output + +2017-11-23 15:28:39 +0100 Edward Hervey + + * plugins/elements/gstqueue.c: + queue: Only calculate level if we have valid levels + Doing calculations with GST_CLOCK_STIME_NONE would result in + completely bogus levels + +2017-11-23 13:56:51 +0100 Tim-Philipp Müller + + * gst/gstvalue.c: + gstvalue: allocate slightly larger than needed tables at startup + If we pre-allocate only *exactly* as many nodes as we need for the + core types, we are practically guaranteed a re-alloc when external + code like GstVideoTimeCode or GstEncodingProfile register their + own GstValue things. So allocate a bit more than strictly needed. + +2017-11-06 21:10:54 +0100 Mathieu Duponchelle + + * docs/gst/gstreamer-sections.txt: + * gst/gstelement.c: + * gst/gstelement.h: + * gst/gstpadtemplate.c: + * gst/gstpadtemplate.h: + * win32/common/libgstreamer.def: + pad templates: Allow specifying GType + See https://bugzilla.gnome.org/show_bug.cgi?id=731301 + https://bugzilla.gnome.org/show_bug.cgi?id=789986 + +2017-11-22 15:59:39 +0100 Tim-Philipp Müller + + * win32/common/libgstreamer.def: + win32: update for latest promise api changes + +2017-04-03 22:20:51 +1000 Matthew Waters + + * docs/gst/gstreamer-docs.sgml: + * docs/gst/gstreamer-sections.txt: + * docs/gst/gstreamer.types.in: + * gst/Makefile.am: + * gst/gst.c: + * gst/gst.h: + * gst/gstpromise.c: + * gst/gstpromise.h: + * gst/meson.build: + * tests/check/Makefile.am: + * tests/check/gst/.gitignore: + * tests/check/gst/gstpromise.c: + * tests/check/meson.build: + * win32/common/libgstreamer.def: + gst: add a promise object + An object that can be waited on and asked for asynchronous values. + In much the same way as promise/futures in js/java/etc + A callback can be installed for when the promise changes state. + Original idea by + Jan Schmidt + With contributions from + Nirbheek Chauhan + Mathieu Duponchelle + https://bugzilla.gnome.org/show_bug.cgi?id=789843 + +2017-11-20 17:01:04 +0100 Edward Hervey + + * gst/gstregistrychunks.c: + registrychunks: Make sure we use aligned memory + This is in the same vein as for all other features. Some systems + might not allow unaligned read. + +2017-11-17 00:15:17 +0000 Tim-Philipp Müller + + * tools/gst-inspect.c: + tools: gst-inspect: stop printing element state_change function + This is really not interesting at all, not sure why we print this. + +2017-11-17 00:14:35 +0000 Tim-Philipp Müller + + * tools/gst-inspect.c: + tools: gst-inspect: fix double empty line after pad templates + +2017-11-16 10:47:46 +0100 Edward Hervey + + gstpad: Make pad (de)activation atomic + The following could happen previously: + * T1: calls gst_pad_set_active() + * T2: currently (de)activating it + * T1: gst_pad_set_active() returns, caller assumes that the pad has + completed the requested (de)activation ... whereas it is not + the case since the actual (de)activation in T2 might still be + going on. + To ensure atomicity of pad (de)activation, we use a internal + variable (and cond) to ensure only one thread at a time goes through + the actual (de)activation block + https://bugzilla.gnome.org/show_bug.cgi?id=790431 + +2017-11-16 08:26:12 +0100 Edward Hervey + + * gst/gstpad.c: + gstpad: Make calls to GstPadActivateFunction MT-safe + checking whether we already were in the target GstPadMode was being + done too early and there was the risk that we *would* end up + (de)activating a pad more than once. + Instead, re-do the check for pad mode when entering the final pad + (de)activation block. + https://bugzilla.gnome.org/show_bug.cgi?id=790431 + +2017-11-10 12:07:28 -0500 Nicolas Dufresne + + * gst/gstparamspecs.c: + paramspec: Move condition check inside the g_return + It's mostly a debug check and crash avoidance, it's better to + keep all the condition inside the macro. + +2017-11-10 12:03:00 -0500 Nicolas Dufresne + + * gst/gstparamspecs.c: + paramspec: Add missing since for _spec_array() + +2017-11-10 14:10:31 +0100 Edward Hervey + + * plugins/elements/gstconcat.c: + concat: Handle single-pad use-cases + When EOS reaches concat, it will switch to the next candidate as its + activate pad. + The problem arises when there is only one sinkpad, the "active" pad + becomes NULL. This results in concat becoming unusable after it receives + a *single* EOS on its single sinkpad. + If we detect there is a single sinkpad and there is no current active pad: + * If we are waiting (from selected sink event/buffer), become the current + active pad. + * If there is a seek request, send it upstream. We don't switch the + active_sinkpad property at that point in time, since the seek could + fail. If the seek succeeds, the following SEGMENT (or STREAM_START) + will cause the pad_wait() to elect that pad as the new active one. + * Flush events get forwarded + https://bugzilla.gnome.org/show_bug.cgi?id=790167 + +2017-11-09 17:38:19 +0100 Edward Hervey + + * plugins/elements/gstconcat.c: + concat: Make QoS forward MT-safe + In the same way it's done for other event forwarding. + +2017-04-13 16:28:54 +0200 Guillaume Desmottes + + * plugins/tracers/gstlatency.c: + latency tracer: add timestamp to tracer records + Include the timestamp of the recorded log as in the 'stats' tracer. + This can be useful, for example, to plot a graph showing the latency + over time. + https://bugzilla.gnome.org/show_bug.cgi?id=781315 + +2017-11-04 11:45:54 +0100 Edward Hervey + + * libs/gst/base/gsttypefindhelper.c: + typefindhelper: Fix overflow some more + Nothing guaranteed that off+size wouldn't exceed a 2**64 value. + Instead we reverse the operation and use a subtraction. + +2017-11-04 10:34:10 +0100 Edward Hervey + + * libs/gst/base/gsttypefindhelper.c: + typefindhelper: Fix signed integer overflow + Make sure the whole calculation is done with 64bit unsigned values + (To be ready for people want to typefind exabyte files). + +2017-08-01 11:06:32 +0100 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + * gst/gstelement.c: + * gst/gstelement.h: + * tests/check/gst/gstelement.c: + * win32/common/libgstreamer.def: + element: add gst_element_foreach_*pad() + Add convenience API that iterates over all pads, sink pads or + source pads and makes sure that the foreach function is called + exactly once for each pad. + This is a KISS implementation. It doesn't use GstIterator and + doesn't try to do clever things like resync if pads are added + or removed while the function is executing. We can still do that + in future if we think it's needed, but in practice it will + likely make absolutely no difference whatsoever, since these + things will have to be handled properly elsewhere by the element + anyway if they're important. + After all, it's always possible that a pad is added or removed + just after the iterator finishes iterating, but before the + function returns. + This is also a replacement for gst_aggregator_iterate_sink_pads(). + https://bugzilla.gnome.org/show_bug.cgi?id=785679 + +2017-10-27 14:58:28 +0200 Mathieu Duponchelle + + * plugins/tracers/gstleaks.c: + gstleaks.c: always log leaks listing + https://bugzilla.gnome.org/show_bug.cgi?id=789556 + +2017-11-01 12:27:31 +0200 Sebastian Dröge + + * libs/gst/net/meson.build: + net: Add new file to the meson.build + +2017-11-01 11:31:52 +0200 Sebastian Dröge + + * tests/misc/netclock-replay.c: + examples/netclock-replay: Fix build + +2017-10-30 10:49:06 +0100 Robert Rosengren + + * libs/gst/net/Makefile.am: + * libs/gst/net/gstnetclientclock.c: + * libs/gst/net/gstnettimeprovider.c: + * libs/gst/net/gstnetutils.c: + * libs/gst/net/gstnetutils.h: + netutils: Add util for setting socket DSCP + Util function for setting QoS DSCP added, to remove duplicated code in + netclientclock and nettimeprovider. Fix build error if missing IP_TOS. + https://bugzilla.gnome.org/show_bug.cgi?id=784737 + +2017-10-31 11:39:23 +0100 Edward Hervey + + * gst/gstvalue.h: + gstvalue: Cast GST_MAKE_FOURCC arguments + To make it explicit that we are dealing with uint32 targets + Avoids erroneous runtime error: left shift of negative value -1 + https://bugzilla.gnome.org/show_bug.cgi?id=789700 + +2017-10-11 11:08:12 -0400 Nicolas Dufresne + + * plugins/tracers/gstlatency.c: + latency-tracer: Exclude synchronization time + The goal of this tracer is to measure the processing latency between a + src and a sink. In push mode, the time was read after the chain function + have returned. As the amount of time we wait to get synched is reverse + to the amount of latency the source introduced, the result was quite + surprising. + This patch moves the latency calculation in the pre-push hook. When + there is no processing in a a pipeline (e.g. fakesrc ! fakesink), the + latency will now be 0 as it's supposed to. For pull mode, the code was + already correct. When GstBaseSink operate in pull mode, the processing + time is done durring the pull, so pull-post is the right hook. The + synchronization will happen after the pull has ended. Note that + GstBaseSink rarely operate in pull mode. + https://bugzilla.gnome.org/show_bug.cgi?id=788431 + +2017-10-27 09:53:06 +0200 Edward Hervey + + * gst/gstevent.c: + event: Don't allow invalid SELECT_STREAMS event creation + Asking to select no streams makes no sense and can create various + issues. + If one doesn't one any stream it should deactivate (or not use) the + element in question. + +2017-10-25 17:10:15 +0200 Edward Hervey + + * gst/gst.c: + gst: Fix build with option parsing disabled + +2017-10-20 17:28:11 +0200 Stefan Sauer + + * tests/check/gst/gstsegment.c: + segment: update the tests + Boy scout rule. Make is a little less painful to debug the tests by using + fail_unless_equals_{uint64,int64,float} where appropriate. Ideally the large + tests would be splitted to avoid guessing data dependencies. + +2017-10-20 16:15:01 +0200 Stefan Sauer + + * gst/gstsegment.h: + segment: clarify the segment docs for the duration + +2017-10-20 16:11:44 +0200 Stefan Sauer + + * gst/gstsegment.c: + Revert "segment: also intialize the duration" + This reverts commit f1baaae17557fa75a9bcd940b994597714be2f74. + +2017-10-20 14:30:42 +0200 Stefan Sauer + + * gst/gstsegment.c: + segment: also intialize the duration + If start and stop are set, calculate the duration and set it too. + +2017-10-20 13:02:35 +0200 Stefan Sauer + + * tools/gst-inspect.c: + gst-inspect: print more details for typefind and tracer features + Print full details for typefind features. Print some of the available features + for tracers and add some todos for the ones we'd like to see. + +2017-10-20 11:16:46 +0200 Stefan Sauer + + * tools/gst-inspect.c: + gst-inspect: reduce casting back and forth + Refactor the print_element_info() to take a GstPluginFeature. Reduces the need + to cast to and from GstElementFactory. + +2017-10-20 11:08:14 +0200 Stefan Sauer + + * tools/gst-inspect.c: + gst-inspect: simplify the code for printing feature info + Rename print_element_features() to print_feature_info() and move the code that + handles the ElementFactory there. This simplifies the calling code and improves + readability. + Also don't leak the features for other factories. + +2017-06-02 16:27:29 +0200 Robert Rosengren + + * libs/gst/net/gstnetclientclock.c: + netclientclock: Add possibility to set QoS DSCP value + https://bugzilla.gnome.org/show_bug.cgi?id=784737 + +2017-06-01 15:48:16 +0200 Robert Rosengren + + * libs/gst/net/gstnettimeprovider.c: + nettimeprovider: Add possibility to set QoS DSCP value + https://bugzilla.gnome.org/show_bug.cgi?id=784737 + +2017-10-18 02:31:12 +1100 Jan Schmidt + + * gst/gstutils.c: + * gst/gstutils.h: + seqnum: Never return a seqnum of 0, reset GST_SEQNUM_INVALID + Various plugins use the value of '0' as an invalid seqnum value + (qtdemux for matching duplicated seek events, for example). Make + that behaviour explicit, create a GST_SEQNUM_INVALID value, + and ensure gst_util_seqnum_next never returns it. + +2017-10-16 16:06:37 +0530 Ashish Kumar + + * libs/gst/base/gstqueuearray.c: + queuearray: Fix for possible crashes due to null pointer dereferencing + https://bugzilla.gnome.org/show_bug.cgi?id=788838 + +2017-10-15 15:59:11 +0200 Stefan Sauer + + * libs/gst/base/gstcollectpads.c: + collectpads: mention the query function in the docs as well + +2017-10-06 21:59:03 +0200 Mathieu Duponchelle + + * gst/gstbuffer.c: + * tests/check/gst/gstmeta.c: + gstbuffer: fix meta removal in gst_buffer_foreach_meta + When updating the linked list, prev->next = next is correct + if prev is actually updated after being set to the head + of the list at the start. + https://bugzilla.gnome.org/show_bug.cgi?id=788617 + +2017-10-10 15:53:38 +0200 fengalin + + * libs/gst/base/gstflowcombiner.c: + flowcombiner: Fix version for ref and unref functions + The functions were introduced in version 1.12.1, GstFlowCombiner was + introduced in 1.4. + https://bugzilla.gnome.org/show_bug.cgi?id=788778 + +2017-10-05 13:35:14 +0100 Tim-Philipp Müller + + * libs/gst/base/gstbasesink.c: + basesink: use new gst_buffer_list_calculate_size() utility function + +2017-10-05 10:24:24 +0530 Ashish Kumar + + * gst/gstdeviceprovider.c: + device-provider: gst_device_provider_unhide_provider() always fails + https://bugzilla.gnome.org/show_bug.cgi?id=788520 + +2017-10-04 14:16:46 +0200 Havard Graff + + * gst/meson.build: + * libs/gst/base/meson.build: + * libs/gst/controller/meson.build: + * libs/gst/net/meson.build: + * meson.build: + meson: remove vs_module_defs + The GST_EXPORT should handle it. + +2017-10-03 13:54:25 -0700 Reynaldo H. Verdejo Pinochet + + * libs/gst/base/gstbasetransform.h: + * libs/gst/net/gstnettimepacket.c: + * libs/gst/net/gstntppacket.c: + * plugins/elements/gstidentity.c: + Use proper GtkDoc notation for NULL/FALSE/TRUE + +2017-10-02 17:59:17 +0200 Edward Hervey + + * gst/gstbin.c: + * tests/check/gst/gstbin.c: + bin: iterate_sorted: Ensure sources are always returned last + For linked elements, the resulting gst_bin_iterate_sorted() will + properly return elements from sink to sources. + If we have some elements that are not linked, we *still* want to + ensure that we return: + * In priority any sinks + * Last of all any sources + * And in between any element which is neither source nor sink + For this to work, when looking for the next candidate element, + not only check the degree order, but if there are two candidates + with the same degree order, prefer the non-source one. + Amongst other things, this fixes the case where we activating a + bin containing unlinked sources and other elements. Without this + we could end up activating sources (which might start adding pads + to be linked) before other (to which those new source element pads + might be linked) are not activated + https://bugzilla.gnome.org/show_bug.cgi?id=788434 + +2017-10-02 14:11:19 -0400 Nicolas Dufresne + + * tests/check/elements/tee.c: + tee-test: Test a real use case + The real use case is when downstream didn't set a pool or + allocation params, in which case we expect the tee to not + create a pool or param from thin air. Dowstream setting + an pool with size=0 was in fact testing a downstream element + bug. The fact we handle that is accidental. + +2017-10-02 16:26:33 +0200 Stefan Sauer + + * plugins/elements/gsttee.c: + * tests/check/elements/tee.c: + tee: don't create a pool if none is needed + If the aggregated size is 0 and we create a pool, the pool would provide + buffers with no memory assigned. Handle that case and skip the pool. + This was the behaviour before cf803ea9f4e3fde92c1da86ecc47444035f7c0a7. + Add a test for this scenario. + https://bugzilla.gnome.org/show_bug.cgi?id=730758 + +2017-10-02 13:35:52 -0400 Nicolas Dufresne + + * tests/check/elements/tee.c: + tee: Re-enabled alloc query + allow-not-linked test + In the unit test refactoring, the unlinked pad required to test + the different behaviour induced by "allow-not-linked" property + was removed. + Commit e364d7944ecbab86dea73c0ee3e639e766938d36 + Move all the code for this test in the proper function, and re-add + the missing unlinked pad. This makes the test useful again. + +2017-10-02 16:25:00 +0200 Stefan Sauer + + * tests/check/elements/tee.c: + tee: split the allocation query test + Split the large allocation_query test into seperate tests. Add a setup helper + to reduce code duplication. Fix the original test that used fail_unless instead + of ck_assert_int_eq and had it accidentially working. + +2017-10-02 16:22:00 +0200 Stefan Sauer + + * gst/gststructure.c: + structure: add a todo comment + Printing NULL is confusing when the type is e.g. a GArray that is not empty. + +2017-10-02 13:14:21 +0200 Stefan Sauer + + * gst/gstquery.c: + query: doc consistency + Mention that it is the 'buffer size', like we do elsewhere. + +2017-09-28 10:17:53 +0200 Edward Hervey + + * win32/common/libgstreamer.def: + win32: update exports file + +2017-09-27 20:29:06 +0200 Mathieu Duponchelle + + * gst/gst.c: + * gst/gstplugin.c: + gst: Modify behaviour of gst_get_main_executable_path + To actually return the path of the executable, not its + directory. + https://bugzilla.gnome.org/show_bug.cgi?id=788256 + +2017-09-26 21:51:53 +0200 Mathieu Duponchelle + + * docs/gst/gstreamer-sections.txt: + * gst/gst.c: + * gst/gst.h: + * win32/common/libgstreamer.def: + gst: API: gst_get_main_executable_path() + This is useful for plugins that need to inspect the + folder of the main executable in order to determine the + set of features they will expose, for example: + https://github.com/centricular/gstreamer-vst3 + https://bugzilla.gnome.org/show_bug.cgi?id=788214 + +2017-09-27 13:07:25 +0200 Mathieu Duponchelle + + * gst/gst.c: + gst: Do not try to determine executable path on iOS. + The method used relies on "libproc.h", which is only available + on OSX. + https://bugzilla.gnome.org/show_bug.cgi?id=788234 + +2017-09-27 13:01:13 +0200 Mathieu Duponchelle + + * gst/gst.c: + gst: Fix typo in windows function name. + GetModuleFilename -> GetModuleFileName + https://bugzilla.gnome.org/show_bug.cgi?id=788234 + +2017-09-27 10:06:12 +0200 Edward Hervey + + * win32/common/libgstreamer.def: + win32: Update export file + +2017-09-26 15:15:27 +0200 Mathieu Duponchelle + + * gst/gst.c: + * libs/gst/helpers/gst-plugin-scanner.c: + plugin dependencies: fix 6cddce7663cb4b6ee061950d20365f42cb755851 + There were a few errors: + * The plugin scanner now accepts executable path as an argument. + In case it is NULL, argc == 2 + * We find the executable path in init_pre instead of gst_init, + allowing this to work when gst is initialized through the + option group (eg gst-inspect) + * There was a semi-colon missing in the __APPLE__ #ifdef + +2017-09-25 20:35:59 +0200 Mathieu Duponchelle + + * gst/gst.c: + * gst/gst_private.h: + * gst/gstplugin.c: + * gst/gstplugin.h: + * gst/gstpluginloader.c: + * libs/gst/helpers/gst-plugin-scanner.c: + * win32/common/libgstreamer.def: + plugin: API: GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE + When a plugin declares a dependency using this flag, all the + relative paths are considered to be relative to the path of + the main executable. + We try to determine the path of the executable portably, + with implementations provided for Linux, Windows and Mac. + If retrieval of the path fails, we will not detect changes. + In order for the main executable path to be the same when + scanning a plugin in a child process, a new variable is + exposed in gst_private.h, _gst_executable_path + https://bugzilla.gnome.org/show_bug.cgi?id=788152 + +2017-09-21 14:13:47 +0300 Vivia Nikolaidou + + * scripts/git-update.sh: + git-update: Also build $EXTRA_MODULES + Doing a git pull but not autogen.sh / make is not consistent behaviour. + https://bugzilla.gnome.org/show_bug.cgi?id=787981 + +2017-09-19 23:58:26 +0200 Mathieu Duponchelle + + * tools/gst-inspect.c: + gst-inspect: Print GstValueArray properties nicely + https://bugzilla.gnome.org/show_bug.cgi?id=787924 + +2017-04-01 07:15:22 +0200 Mathieu Duponchelle + + * plugins/elements/gstmultiqueue.c: + Multiqueue: don't allow dropping SEGMENT_DONE events + https://bugzilla.gnome.org/show_bug.cgi?id=780795 + +2017-09-17 18:55:19 +0300 Sebastian Dröge + + * gst/gstinfo.h: + info: GstStackTraceFlags were added in 1.12 + +2017-08-31 13:05:57 +0100 Tim-Philipp Müller + + * plugins/elements/gstqueue.c: + * plugins/elements/gstqueue2.c: + plugins: use new gst_buffer_list_calculate_size() + +2017-08-31 12:54:55 +0100 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + * gst/gstbufferlist.c: + * gst/gstbufferlist.h: + * tests/check/gst/gstbufferlist.c: + * win32/common/libgstreamer.def: + bufferlist: add gst_buffer_list_calculate_size() + Returns size in bytes. + +2017-08-30 13:50:33 +0100 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + * gst/gstbufferlist.c: + * gst/gstbufferlist.h: + * tests/check/gst/gstbufferlist.c: + * win32/common/libgstreamer.def: + bufferlist: add gst_buffer_list_get_writable() + Ensures buffer is writable. Useful if we want to change + metadata on it such as timestamps. + https://bugzilla.gnome.org/show_bug.cgi?id=750241 + +2017-09-12 18:30:00 +0300 Michael Shigorin + + * gst/gstconfig.h.in: + gstconfig.h.in: initial e2k arch support + This makes gstreamer buildable on Elbrus 2000. + https://bugzilla.gnome.org/show_bug.cgi?id=787587 + +2017-09-09 16:14:05 +0300 Sebastian Dröge + + * gst/gstinfo.h: + info: GstDebugColorFlags are flags, not an enum + Annotate as such. + +2017-09-06 10:01:58 -0400 Nicolas Dufresne + + * plugins/elements/gstidentity.c: + * plugins/elements/gstidentity.h: + identity: Add a drop-allocation property + When enabled, this property will make the allocation query fail. This is + the same as one could have done using a tee before the tee started + implementing the allocation query. + https://bugzilla.gnome.org/show_bug.cgi?id=730758 + +2017-09-05 15:57:51 -0400 Nicolas Dufresne + + * plugins/elements/gsttee.c: + * tests/check/elements/tee.c: + tee: Allocate one more buffer when multi-plexing + This extra buffer ensure that the downstream threads are not starved + when multiplexing a stream. + https://bugzilla.gnome.org/show_bug.cgi?id=730758 + +2017-09-05 15:45:33 -0400 Nicolas Dufresne + + * tests/check/elements/tee.c: + tee: Add test for the allocation query + https://bugzilla.gnome.org/show_bug.cgi?id=730758 + +2017-08-08 17:39:43 -0400 Nicolas Dufresne + + * plugins/elements/gsttee.c: + tee: Implement allocation query aggregation + This will aggregate allocation params, pool and will keep all + meta that has no parameters. + https://bugzilla.gnome.org/show_bug.cgi?id=730758 + +2017-08-08 17:35:19 -0400 Nicolas Dufresne + + * plugins/elements/gsttee.c: + tee: Deprecate alloc-pad property + It has no effect, not implemented, and would lead to bad rendering. + https://bugzilla.gnome.org/show_bug.cgi?id=730758 + +2017-09-04 12:20:43 +0200 Miguel París + + * tests/check/gst/gstpad.c: + pad: add test to check handled and drop probes + https://bugzilla.gnome.org/show_bug.cgi?id=787243 + +2017-09-04 14:33:29 +0200 Edward Hervey + + * gst/gstpad.c: + pad: Don't call remaining probes after they return DROPPED|HANDLED + If multiple probes are set on a pad and one probe returns either + GST_PAD_PROBE_HANDLED or GST_PAD_PROBE_DROPPED we need to stop + calling the remaining probes. + https://bugzilla.gnome.org/show_bug.cgi?id=787243 + +2017-08-26 13:44:38 -0300 Thibault Saunier + + * gst/gstvalue.c: + * tests/check/gst/gstvalue.c: + value: Handle serializing NULL GValueArray + Concider them as an empty array and do not segfault... + https://bugzilla.gnome.org/show_bug.cgi?id=786670 + +2017-08-24 16:00:42 +0100 Tim-Philipp Müller + + * libs/gst/base/gstbaseparse.c: + baseparse: fix taglist update spam + We would constantly re-post the taglist because + posted_avg_rate only gets set to avg_bitrate if + parse->priv->post_avg_bitrate is true, so if it's + false the posted rate will always differ from the + current average rate and we'd queue an update, + which leads to us spamming downstream and the + application with taglist updates. + Fix this by only queuing an update if the average + rate will actually be posted. + These taglists updates could cause expensive + operations on the application side, e.g. in Totem. + https://bugzilla.gnome.org/show_bug.cgi?id=786561 + +2017-08-17 12:23:10 +0100 Tim-Philipp Müller + + * README: + * common: + Automatic update of common submodule + From 48a5d85 to 3f4aa96 + +2017-08-17 14:13:39 +0300 Sebastian Dröge + + * docs/gst/gstreamer-sections.txt: + * gst/gstdeviceprovider.c: + * gst/gstdeviceprovider.h: + * gst/gstelement.c: + * gst/gstelement.h: + * win32/common/libgstreamer.def: + element/deviceprovider: Add instance getter functions for class properties + That is, the metadata and pad templates. Using instance getters is + easier to deal with for bindings, especially autogenerated ones. + +2017-08-16 22:47:31 +0300 Sebastian Dröge + + * plugins/elements/gstidentity.c: + * plugins/elements/gstidentity.h: + identity: Return FLUSHING instead of EOS and don't start waiting for anything if currently flushing + Otherwise we might try unscheduling a clock id (that does not exist + yet), then the streaming thread waits for id and the state change never + continues because the streaming thread is blocked. + Also shutting down and flushing and similar should return FLUSHING, not + EOS. The stream is not over, we're just not accepting any buffers + anymore. + +2017-08-14 11:01:19 +0100 Tim-Philipp Müller + + * gst/gstallocator.c: + * win32/common/libgstreamer.def: + allocator: Hide private sysmem GType func + Was never exposed in any header file, only exported + by accident. + +2017-08-11 21:17:06 +0200 Carlos Rafael Giani + + * configure.ac: + configure: Add switches for enabling/disabling libdw and libunwind + https://bugzilla.gnome.org/show_bug.cgi?id=778193 + +2017-08-13 10:50:05 +0100 Tim-Philipp Müller + + * libs/gst/check/libcheck/libcompat/libcompat.h: + libcheck: fix build failure + Need to define CK_DLL_EXP to extern as well in libcompat.h + which gets included before the internal-check.h where the + other fallback definition for CK_DLL_EXP is. + duplicate symbol _check_minor_version in: + libcheckinternal.a(libcheckinternal_la-check.o) + libcheckinternal.a(libcheckinternal_la-check_log.o) + +2017-08-11 11:12:09 +0300 Sebastian Dröge + + * plugins/elements/gstqueue.c: + queue: Allow re-usability after EOS + After EOS, it is possible for a pad to be resetted by sending + either a STREAM_START or SEGMENT event + Mimic the same behaviour when receiving STREAM_START/SEGMENT events + in queue if we are EOS'd + https://bugzilla.gnome.org/show_bug.cgi?id=786056 + +2017-08-10 13:32:43 +0100 Tim-Philipp Müller + + * libs/gst/check/libcheck/meson.build: + * meson.build: + meson: hide symbols by default unless explicitly exported + +2017-08-10 11:15:26 +0100 Tim-Philipp Müller + + * libs/gst/check/gstbufferstraw.h: + * libs/gst/check/gstcheck.h: + * libs/gst/check/gstconsistencychecker.h: + * libs/gst/check/gstharness.h: + * libs/gst/check/gsttestclock.c: + * libs/gst/check/gsttestclock.h: + * libs/gst/check/libcheck/check.h.in: + libs: check: sprinkle some GST_EXPORT + Have to modify libcheck header a bit to avoid warnings + about duplicate 'extern extern'. + Also needs some additions to the libcheck meson.build file + to define CK_EXP_DLL when building the static libcheck. + +2017-08-08 12:56:24 +0100 Tim-Philipp Müller + + * gst/gstutils.c: + utils: fix g-ir-scanner warning about bogus transfer annotations + for vararg parameters. Vararg functions are not introspectable anyway, + so might just as well mark them as '(skip)' while we're at it. + gstutils.c:2611: Warning: Gst: invalid "transfer" annotation for : only valid for object and GVariant types + +2017-08-09 16:15:23 +0200 Edward Hervey + + * plugins/elements/gstqueue2.c: + queue2: Allow re-usability after EOS + After EOS, it is possible for a pad to be resetted by sending + either a STREAM_START or SEGMENT event + Mimic the same behaviour when receiving STREAM_START/SEGMENT events + in queue2 if we are EOS'd + https://bugzilla.gnome.org/show_bug.cgi?id=786056 + +2017-08-09 10:51:39 +0200 Edward Hervey + + * plugins/elements/gstmultiqueue.c: + * plugins/elements/gstqueue.c: + * plugins/elements/gstqueue2.c: + plugins: *queue* elements: Handle STREAM_START in EOS situation + When queue-like elements are in "EOS" situation (received GST_FLOW_EOS + from downstream or EOS was pushed), they drain buffers/events that + wouldn't be processed anyway and let through events that might + modify the EOS situation. + Previously only GST_EVENT_EOS and GST_EVENT_SEGMENT events were let + through, but we also need to allow GST_EVENT_STREAM_START to go + through since it resets the EOS state of pads since 1.6 + https://bugzilla.gnome.org/show_bug.cgi?id=786034 + +2017-08-08 21:19:32 +0300 Sebastian Dröge + + * gst/gstutils.c: + utils: Skip gst_calculate_linear_regression() in bindings + +2017-08-07 12:24:37 +0200 Edward Hervey + + * plugins/elements/gstqueue2.c: + queue2: Handle buffering levels on NOT_LINKED + When downstream returns NOT_LINKED, we return the buffering level + as being 100%. + Since the queue is no longer being consumed/used downstream, we + want applications to essentially "ignore" this queue for buffering + purposes. + If other streams are still being used, those stream buffering levels + will be used. If none are used, upstream will post an error message + on the bus indicating no streams are used. + https://bugzilla.gnome.org/show_bug.cgi?id=785799 + +2017-08-07 11:23:36 +0100 Tim-Philipp Müller + + * docs/gst/meson.build: + * docs/libs/meson.build: + meson: fix gtk-doc invocation + Argument is called "scanobjs_args", and we were missing a quote. + +2017-08-07 11:06:58 +0100 Tim-Philipp Müller + + * gst/meson.build: + * meson.build: + meson: fix a few warnings + +2017-08-07 10:33:32 +0100 Tim-Philipp Müller + + * pkgconfig/meson.build: + meson: add -lm to gstreamer-check-1.0 pkgconfig file + Fixes warning with meson from git about LIBM not being + defined in the configuration_data. + +2017-08-02 21:02:32 +0300 Sebastian Dröge + + * gst/gstpad.c: + pad: Recheck sticky events after non-blocking buffer probes and blocking event probes + Without the former, event changes (e.g. setting a pad offset) does not + take effect for the current buffer but only for the next one. Without + the latter, non-blocking event probes would not see any updated events + yet. + +2017-07-29 10:28:03 +0100 Tim-Philipp Müller + + * gst/gstinfo.c: + info: fix build with gst debugging disabled + +2017-07-17 21:03:11 +0300 Sebastian Dröge + + * docs/gst/gstreamer-sections.txt: + * gst/gstinfo.c: + * gst/gstinfo.h: + * win32/common/libgstreamer.def: + debug: Add a memory ringbuffer based debug logger + This stores debug logs in memory per thread and uses up to a + configurable amount of bytes per thread for the logs. Inactive threads + are timed out after a configurable amount of time. + https://bugzilla.gnome.org/show_bug.cgi?id=785035 + +2017-07-28 17:27:18 +0100 Sebastian Dröge + + * gst/gstsegment.c: + segment: Add missing out annotations for various parameters + +2017-07-26 14:17:46 +0100 Tim-Philipp Müller + + * plugins/elements/gstdownloadbuffer.c: + * plugins/elements/gstdownloadbuffer.h: + downloadbuffer: remove unused struct member + This was used in queue2 when handling in coming serialized + queries, but downloadbuffer just refuses serialized queries. + +2015-03-10 16:42:44 +0000 Luis de Bethencourt + + * libs/gst/check/libcheck/check_run.c: + check: duplicate code branches + CID #1226446 + +2017-07-26 11:15:58 +0300 George Kiagiadakis + + * gst/gstelement.c: + element: document that gst_element_continue_state needs to be called with the STATE_LOCK + It internally calls gst_element_change_state(), which requires the STATE_LOCK + https://bugzilla.gnome.org/show_bug.cgi?id=785431 + +2017-07-20 17:31:41 +0100 Tim-Philipp Müller + + * tools/gst-launch.c: + gst-launch: fix compiler warnings for SIGHUP handlers on windows + Fix unused variable/function compiler warnings on windows. + The SIGHUP handling is only available under unix. + https://bugzilla.gnome.org/show_bug.cgi?id=783661 + +2017-07-20 14:17:48 +0200 Edward Hervey + + * plugins/elements/gstmultiqueue.c: + multiqueue: Fix access to NULL pointer + sq can be NULL. + Also fix commit message (it's the queue we are iterating over that we + are logging, not the one passed as argument). + CID #1415569 + +2017-07-03 15:17:33 +0900 Seungha Yang + + * plugins/elements/gstmultiqueue.c: + multiqueue: Calculate interleave only within each streaming thread + ... and use the biggest interleave value among streaming threads. + This is to optimize multiqueue size adaptation on adaptive streaming + use case with "use-interleave" property. + https://bugzilla.gnome.org/show_bug.cgi?id=784448 + +2017-07-15 12:40:28 +0100 Tim-Philipp Müller + + * po/meson.build: + meson: po: use glib preset and read language list from LINGUAS + Supported since meson 0.37, so we can use it now. + +2017-07-15 11:54:18 +0100 Tim-Philipp Müller + + * gst/gstminiobject.c: + miniobject: don't modify memory if it's clearly not a valid miniobject + Add back function guard that checks the refcount in a read-only + operation first, and bail out without modifying the passed-in + memory if it's clearly not a valid mini object. Otherwise we + probably cause more harm than good. We keep the second sanity + check based on the 'real refcount' at the time of the unref + around for now too. + https://bugzilla.gnome.org/show_bug.cgi?id=784383 + +2017-07-14 16:56:54 +0100 Tim-Philipp Müller + + * libs/gst/base/gstbasesrc.c: + * libs/gst/base/gstbasesrc.h: + basesrc: deprecate non-functional "typefind" property + https://bugzilla.gnome.org/show_bug.cgi?id=736565 + +2017-07-10 16:52:38 +0200 Francisco Velazquez + + * tests/benchmarks/complexity.c: + * tests/benchmarks/complexity.scm: + benchmark: fix complexity benchmark + Make complexity benchmark code work for complexity > 1 + https://bugzilla.gnome.org/show_bug.cgi?id=784754 + +2017-07-14 16:12:25 +0100 Tim-Philipp Müller + + * configure.ac: + * gst/gstpluginloader.c: + * meson.build: + win32: find plugin scanner in libexecdir subdir as configured + https://bugzilla.gnome.org/show_bug.cgi?id=679115 + +2017-07-13 21:52:34 +0800 Jason Lin + + * libs/gst/base/gstbasesink.c: + basesink: fix buffer leaks if preroll failed + buffer is not unreferened if preroll failed + :Detailed Notes: + - Problem : video freeze when switching from pause to 1/2-FF repeatedly + - RootCause : buffer leaks in basesink + - Solution : unref the buffer if prerolled failed + :Testing Preformed: + How to Test : + pause -> 1/2 FF -> resume -> pause -> 1/2 FF ... + https://bugzilla.gnome.org/show_bug.cgi?id=784932 + +2017-06-11 15:15:13 +0000 Graham Leggett + + * docs/gst/running.xml: + * tools/gst-launch-1.0.1: + * tools/gst-launch.c: + Generate a gstreamer pipeline diagram on SIGHUP. + Useful for debugging a pipeline that refuses to enter a given state. + https://bugzilla.gnome.org/show_bug.cgi?id=783661 + +2017-06-26 11:46:39 +0300 George Kiagiadakis + + * libs/gst/base/gstbasesrc.c: + basesrc: forward SINK_MESSAGE events downstream + https://bugzilla.gnome.org/show_bug.cgi?id=784551 + +2017-07-11 14:56:03 -0400 Nicolas Dufresne + + * meson.build: + meson: Fix bashcomp installation + For some reason the double quotes ended up in the path, hence + the helper where installed at "."/share/... + +2017-07-11 14:55:42 -0400 Nicolas Dufresne + + * data/bash-completion/helpers/meson.build: + * meson.build: + * plugins/elements/meson.build: + meson: Use join_paths and .set_quoted where possible + +2017-07-11 16:15:16 +0100 Tim-Philipp Müller + + * pkgconfig/meson.build: + meson: pkgconfig: add libunwind/libdw to gstreamer-1.0 Requires.private + https://bugzilla.gnome.org/show_bug.cgi?id=784795 + +2017-07-11 15:29:44 +0200 Edward Hervey + + * configure.ac: + * pkgconfig/gstreamer-uninstalled.pc.in: + * pkgconfig/gstreamer.pc.in: + pkgconfig: Add private requirements + Add libunwind and dw to the .pc Requires.private. Fixes static library + compilation if gstreamer was compiled with one of those dependencies + https://bugzilla.gnome.org/show_bug.cgi?id=784795 + +2017-07-09 21:20:03 +0200 Stefan Sauer + + * libs/gst/base/gstbasesink.c: + basesink: use GST_CLOCK_TIME macros for readability + Replace some -1 comparison with GST_CLOCK_TIME macros. + +2017-07-09 21:16:44 +0200 Stefan Sauer + + * libs/gst/base/gstcollectpads.c: + collectpads: correct some comments and add more logging + Add more logging to analyze event handling (especially failure cases). + +2017-05-01 13:35:09 -0700 Scott D Phillips + + * tools/gst-stats.c: + tools: gst-stats: Use standard character escapes + Having '\e' expand to '\x1b' is a gnu extension. I didn't see any + document describing the behavior, but gcc also seems to expand + '\[' to '['. + https://bugzilla.gnome.org/show_bug.cgi?id=782028 + +2017-07-07 12:06:44 +0100 Tim-Philipp Müller + + * gst/parse/meson.build: + * meson.build: + meson: find python3 via python3 module + And rename python3 variable in meson build files for clarity. + https://bugzilla.gnome.org/show_bug.cgi?id=783198 + +2017-07-05 13:20:19 +0100 Tim-Philipp Müller + + * gst/meson.build: + * meson_options.txt: + * plugins/meson.build: + * tests/check/meson.build: + meson: add option to disable tracer hooks + +2017-07-05 13:19:00 +0100 Tim-Philipp Müller + + * tests/check/gst/gstmemory.c: + tests: memory: skip test that depends on debug system if it's disabled + +2017-07-05 13:17:49 +0100 Tim-Philipp Müller + + * gst/gsttracerutils.h: + tracing: fix build with tracer hooks disabled + +2017-07-03 09:03:24 +0100 Tim-Philipp Müller + + * gst/gstminiobject.c: + miniobject: make refcount tracing and debug logging reliable + Tracing of the refcounts wasn't thread-safe, and log output of + the refcount values before/after wasn't reliable. + https://bugzilla.gnome.org/show_bug.cgi?id=784383 + +2017-07-03 21:06:24 +0100 Tim-Philipp Müller + + * gst/gstplugin.c: + plugin: clarify code that deduces plugin name from file name + Make the final else branch explicit for clarity. + https://bugzilla.gnome.org/show_bug.cgi?id=783333 + +2017-06-27 07:44:17 +0200 Stefan Sauer + + * libs/gst/base/gstbytereader-docs.h: + docs: add a missing const in bytereader docs + This syncs the prototype with gstbytereader.h + +2017-06-29 10:50:50 -0400 Nicolas Dufresne + + * libs/gst/base/gstbasesrc.c: + basesrc: Removed unused private member qos_enabled + +2017-06-26 14:09:20 -0400 Nicolas Dufresne + + * libs/gst/base/gstbasesrc.c: + basesrc: Don't reallocate buffers when flushing + Instead of using gst_buffer_pool_set_active() when flushing, use + gst_buffer_pool_set_flushing(), this avoids uneeded reallocation of the + buffers. + +2017-06-01 10:36:26 -0400 Nicolas Dufresne + + * libs/gst/base/gstbasesrc.c: + basesrc: Don't hold LIVE_LOCK in create/alloc/fill + Holding this lock on live source prevents the source from changing + the caps in ::create() without risking a deadlock. This has consequences + as the LIVE_LOCK was replacing the STREAM_LOCK in many situation. As a + side effect: + - We no longer need to unlock when doing play/pause as the LIVE_LOCK + isn't held. We then let the create() call finish, but will block if + the state have changed meanwhile. This has the benefit that + wait_preroll() calls in subclass is no longer needed. + - We no longer need to change the state to unlock, simplifying the + set_flushing() interface + - We need different handling for EOS depending if we are in push or pull + mode. + This patch also document the locking of each private class member and + the locking order. + https://bugzilla.gnome.org/show_bug.cgi?id=783301 + +2017-06-01 10:01:13 -0400 Nicolas Dufresne + + * libs/gst/base/gstbasesrc.c: + basesrc: Protect access to pool and allocator + This was only partly protected by the object lock. Always take the + object lock to access the currently configured pool and allocator. + https://bugzilla.gnome.org/show_bug.cgi?id=783301 + +2017-06-29 08:30:50 +0900 Jimmy Ohn + + * tools/gst-inspect.c: + gst-inspect: Fix memory leak in print_pad_templates_info + gst_static_caps_get function returned allocated memory. + So, It should be free using gst_caps_unref. + https://bugzilla.gnome.org/show_bug.cgi?id=784311 + +2017-06-29 09:10:04 +0100 Tim-Philipp Müller + + * meson.build: + meson: check for ppoll() as well + +2017-06-27 09:59:52 -0400 Thibault Saunier + + * tools/meson.build: + meson: Add configinc as include_directory in tools/ + Otherwise when the glib is used as a subproject config.h is the glib + one, not ours. + +2017-06-23 15:13:16 -0400 Thibault Saunier + + * meson.build: + meson: Allow using glib as a subproject + +2017-06-28 09:54:56 +0200 Xabier Rodriguez Calvar + + * docs/gst/gstreamer-sections.txt: + * gst/gstprotection.c: + * gst/gstprotection.h: + * win32/common/libgstreamer.def: + protection: add function to filter system ids + gst_protection_filter_systems_by_available_decryptors() takes an array + of strings and returns a new array of strings filtered by the available + decryptors for them so the ones you get are the ones that you should be + able to decrypt. + https://bugzilla.gnome.org/show_bug.cgi?id=770107 + +2017-06-23 11:11:44 +0100 Tim-Philipp Müller + + * meson.build: + meson: fix with-package-name option + https://bugzilla.gnome.org/show_bug.cgi?id=784082 + +2017-06-02 00:52:37 +0200 Matej Knopp + + * gst/gstplugin.c: + gstplugin: remove gst prefix when loading plugin on MSVC + When building with Meson and MSVC, our plugins don't have a 'libgst' + suffix and are just 'gstfoo.dll', so look for that too. + https://bugzilla.gnome.org/show_bug.cgi?id=783333 + +2017-06-21 10:48:52 -0400 Nicolas Dufresne + + * libs/gst/base/gstbaseparse.c: + baseparse: sinkcaps can be NULL in default caps negotiation + This was causing harmless assertion about the unreffed caps not being of + type caps. + https://bugzilla.gnome.org/show_bug.cgi?id=784041 + +2017-06-20 11:05:41 -0400 Thibault Saunier + + * win32/common/libgstreamer.def: + win32: Update .def file + +2017-06-14 17:12:32 -0400 Thibault Saunier + + * docs/gst/gstreamer-sections.txt: + * gst/gstutils.c: + * gst/gstutils.h: + utils: Add a function to get a string representation of GstStateChange + API: + gst_state_change_get_name + https://bugzilla.gnome.org/show_bug.cgi?id=783798 + +2017-06-15 10:38:29 -0400 Thibault Saunier + + * gst/gstelement.h: + * gst/gstpipeline.c: + element: Add missing values for "to same" state changes + And handle newly added GstStateChange values in GstPipeline + https://bugzilla.gnome.org/show_bug.cgi?id=783798 + +2017-06-20 15:57:47 +0900 Heekyoung Seo + + * gst/gstutils.c: + utils: Fix leak in failed case of regression overflow checking + https://bugzilla.gnome.org/show_bug.cgi?id=783978 + +2017-06-20 16:10:07 +0900 Heekyoung Seo + + * gst/gstregistrychunks.c: + registrychunk: Fix leak in failed case of reading plugin dependency string + https://bugzilla.gnome.org/show_bug.cgi?id=783978 + +2017-06-20 10:00:16 +0300 Sebastian Dröge + + * libs/gst/controller/gsttimedvaluecontrolsource.c: + * libs/gst/controller/gsttimedvaluecontrolsource.h: + * win32/common/libgstcontroller.def: + controller: Export boxed type copy/free functions for GstControlPoint + +2017-06-20 09:57:01 +0300 Sebastian Dröge + + * libs/gst/base/gstbaseparse.c: + * libs/gst/base/gstbaseparse.h: + * libs/gst/base/gstflowcombiner.c: + * libs/gst/base/gstflowcombiner.h: + * win32/common/libgstbase.def: + base: Export boxed type copy/free functions for the remaining types + +2017-06-16 13:34:00 +0000 Andrejs Vasiljevs + + * libs/gst/net/gstptpclock.c: + ptp: Unref timeout GSource for delay requests + https://bugzilla.gnome.org/show_bug.cgi?id=783864 + +2017-06-15 10:51:50 +0100 Tim-Philipp Müller + + * gst/gsturi.c: + * gst/gsturi.h: + * tests/check/gst/gsturi.c: + * tests/check/meson.build: + meson: fix tests build with --werror + Need to pass -DGST_DISABLE_DEPRECATED to avoid warnings when + testing deprecated API such as gst_uri_construct(). + Also remove #ifndef GST_DISABLE_DEPRECATED guard from header + file, we don't use those any more for functions, the + GST_DEPRECATED_FOR macro is enough. + +2017-06-14 17:36:57 +0200 Dimitrios Katsaros + + * gst/gsturi.c: + * gst/gsturi.h: + * tests/check/gst/gsturi.c: + gsturi: Fixed incorrect escaping of path as a generic string + The gst_uri_construct function was escaping the location string + as a generic uri string. This is incorrect since the slash('/') + characters are reserved for use in this exact case. The patch + changes the escape_string function mode to handle the path correctly. + I have deleted the escape_string function since it is no longer being + used and have created a unit test for the function. I have also + deprecated this function in favour of the GstUri API. + https://bugzilla.gnome.org/show_bug.cgi?id=783787 + +2017-06-07 11:42:28 -0400 Thibault Saunier + + * tests/check/meson.build: + meson: Do not use path separator in test names + Avoiding warnings like: + WARNING: Target "elements/audioamplify" has a path separator in its name. + +2017-05-31 20:40:00 +0300 Sebastian Dröge + + * gst/gstbin.c: + bin: Put correct annotations on gst_bin_add() too + +2017-05-23 00:51:12 +0200 Olivier Crête + + * libs/gst/base/gstbasesrc.c: + basesrc: Hold object lock while updating latency + Otherwise in gst_base_src_query_latency(), it ended up + sometimes thinking it wasn't -1 when it was actually. + +2017-05-22 12:01:41 +0300 Sebastian Dröge + + * gst/gstobject.c: + object: Add missing annotations to get_value_array() / get_value_g_array() + Same as already used in GstControlBinding. + +2017-05-21 18:11:36 +0100 Tim-Philipp Müller + + * config.h.meson: + meson: actually remove config.h.meson as well + +2017-05-21 19:16:57 +0300 Sebastian Dröge + + * gst/gstprotection.c: + protection: Fix annotations for gst_protection_select_system() + +2017-05-21 17:04:10 +0200 Olivier Crête + + * gst/gstplugin.c: + plugin: Stop plugin symbol name at first . + This is because the python plugin ends up named + libgstpython.cpython-35m-x86_64-linux-gnu.so so we need to stop + at the first dot. + https://bugzilla.gnome.org/show_bug.cgi?id=782924 + +2017-05-21 14:26:01 +0100 Tim-Philipp Müller + + * Makefile.am: + * gst/meson.build: + * meson.build: + meson: don't need config.h.meson any more + Meson does the largefile support automatically nowadays, and + can generate a config.h from configuration_data() without a + template as input. + +2017-05-21 09:02:54 +0100 Tim-Philipp Müller + + * common: + * meson.build: + * tests/check/meson.build: + meson: make C++ compiler optional + It's only used to build tests to see if our headers are C++ clean. + +2017-05-20 17:57:39 +0100 Tim-Philipp Müller + + * libs/gst/check/meson.build: + meson: check: generate .gir file + https://bugzilla.gnome.org/show_bug.cgi?id=782173 + +2017-05-20 19:42:51 +0300 Sebastian Dröge + + * docs/gst/gstreamer-sections.txt: + * gst/gstparse.c: + * gst/gstparse.h: + * win32/common/libgstreamer.def: + parse: Make gst_parse_context_copy() public for bindings + +2017-05-20 16:44:14 +0100 Tim-Philipp Müller + + * tools/Makefile.am: + tools: dist new gst-stats man page + Fixes meson build from tarball. + +2017-05-20 16:43:39 +0100 Tim-Philipp Müller + + * libs/gst/helpers/Makefile.am: + Dist meson ptp helper install script + Fixes meson build from tarball. + +2017-05-20 13:24:18 +0200 Thibault Saunier + + * plugins/tracers/gstleaks.c: + * plugins/tracers/gstleaks.h: + leaks: Handle subclasses in filters even for unhandled/lazy loaded types + Using typename in the set of unhandled types instead of the quark so + that we also handle subclasses as with other filters. + +2017-05-19 19:22:27 +0200 Matthew Waters + + * gst/gstdebugutils.c: + debugutils: add missing E character to the legend + The E character on pads indicates the presence of the EOS flag. + +2017-05-17 21:50:25 +0200 Matej Knopp + + * gst/gstplugin.c: + gst-plugin: allow '-' in plugin file name + '-' will be translated to underscore when determining symbol name + https://bugzilla.gnome.org/show_bug.cgi?id=782756 + +2016-06-20 15:58:59 +0200 Christoph Reiter + + * gst/gstbin.c: + * tests/check/gst/gstbin.c: + * tests/check/gst/gstclock.c: + * tests/check/gst/gstsystemclock.c: + gst: ref_sink() some more floating references returned by g_object_new() + https://bugzilla.gnome.org/show_bug.cgi?id=743062 + +2017-05-15 18:58:38 +0300 Sebastian Dröge + + * gst/gstbufferpool.c: + * gst/gstdevicemonitor.c: + * gst/gststreamcollection.c: + * gst/gststreams.c: + * gst/gsttracerrecord.c: + * gst/gsttracerutils.c: + * libs/gst/net/gstnettimeprovider.c: + gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent + I.e. most of them unfortunately. + https://bugzilla.gnome.org/show_bug.cgi?id=743062 + +2017-05-15 14:34:57 +0300 Sebastian Dröge + + * gst/gstallocator.c: + allocator: ref_sink() the global sysmem allocator after creation + It's not owned by the first one to ask for it, but by this very code. + https://bugzilla.gnome.org/show_bug.cgi?id=743062 + +2017-05-15 14:32:48 +0300 Sebastian Dröge + + * gst/gstbus.c: + * gst/gstclock.c: + * gst/gstcontrolsource.c: + * gst/gstsystemclock.c: + * gst/gsttask.c: + * gst/gsttaskpool.c: + * libs/gst/base/gstcollectpads.c: + * libs/gst/check/gsttestclock.c: + * libs/gst/controller/gstinterpolationcontrolsource.c: + * libs/gst/controller/gstlfocontrolsource.c: + * libs/gst/controller/gsttriggercontrolsource.c: + * libs/gst/net/gstnetclientclock.c: + * libs/gst/net/gstptpclock.c: + * tests/check/gst/gstcontroller.c: + gst: Don't ref_sink() GstObject subclasses in instance_init/constructor + This is something bindings can't handle and it causes leaks. Instead + move the ref_sink() to the explicit, new() constructors. + This means that abstract classes, and anything that can have subclasses, + will have to do ref_sink() in their new() function now. Specifically + this affects GstClock and GstControlSource. + https://bugzilla.gnome.org/show_bug.cgi?id=743062 + +2017-05-15 14:32:00 +0300 Sebastian Dröge + + * gst/gstdevicemonitor.c: + * gst/gstdeviceprovider.c: + * gst/gstelement.c: + * gst/gstghostpad.c: + * gst/gstobject.c: + * gst/gstpadtemplate.c: + * gst/gstplugin.c: + * gst/gstregistry.c: + * gst/gststreamcollection.c: + * gst/gststreams.c: + * gst/gsttracerrecord.c: + * gst/gstutils.c: + * libs/gst/controller/gstproxycontrolbinding.c: + * libs/gst/net/gstnettimeprovider.c: + gst: Correctly annotate functions taking floating reference parameters and returning floating references + https://bugzilla.gnome.org/show_bug.cgi?id=702960 + +2017-05-15 14:29:05 +0300 Sebastian Dröge + + * gst/gstbin.c: + * gst/gstelement.c: + * gst/gstghostpad.c: + * gst/gstregistry.c: + * gst/gstutils.c: + gst: Handle floating references consistently + If a function takes a floating reference parameter, it should also be + sinked in error cases. Otherwise the function behaves differently + between error and normal cases, which is impossible for bindings to + handle. + https://bugzilla.gnome.org/show_bug.cgi?id=747990 + +2015-07-10 15:36:59 +0900 Vineeth TM + + * gst/gstbin.c: + * gst/gstelement.c: + * gst/gstobject.c: + gst: Fix floating reference inconsistencies in error cases + If a function takes a floating reference and sinks it, it should also do + that in error cases. I.e. call ref_sink() followed by unref(). + Otherwise the reference counting behaviour of the function will be + different between the good and the error case, and simply inconsistent. + https://bugzilla.gnome.org/show_bug.cgi?id=747990 + +2017-05-16 13:31:06 -0400 Nicolas Dufresne + + * gst/gstconfig.h.in: + Also use default visibility for plugins symbol + +2017-05-16 13:29:38 -0400 Nicolas Dufresne + + * config.h.meson: + * configure.ac: + * plugins/elements/Makefile.am: + * plugins/elements/meson.build: + * plugins/tracers/Makefile.am: + Remove plugin specific static build option + Static and dynamic plugins now have the same interface. The standard + --enable-static/--enable-shared toggle are sufficient. + +2017-05-16 00:02:11 +0100 Tim-Philipp Müller + + * tests/check/meson.build: + meson: fix gstprintf test linking + Must link against gstprint helper lib to use private symbol. + +2017-05-10 13:03:31 +0100 Tim-Philipp Müller + + * gst/gstconfig.h.in: + gstconfig.h: use default visibility for GST_EXPORT for gcc/clang too + This will be needed later when we switch to using -fvisibility=hidden. + +2017-05-10 13:07:31 +0100 Tim-Philipp Müller + + * gst/gstconfig.h.in: + * gst/gstobject.c: + * gst/gstobject.h: + * gst/gstsegment.c: + * gst/gstsegment.h: + gst: add GST_DEPRECATED_FOR() and also export deprecated symbols + Can't use a #ifndef GST_DISABLE_DEPRECATED guard around deprecated + functions any more, as they won't get exported then. Besides, we + get a nicer error message from the compiler telling us what function + to use instead this way. + +2017-05-10 10:56:16 +0100 Tim-Philipp Müller + + * gst/Makefile.am: + * gst/gst.h: + * gst/gst_private.h: + * gst/gstallocator.h: + * gst/gstatomicqueue.h: + * gst/gstbin.h: + * gst/gstbuffer.h: + * gst/gstbufferlist.h: + * gst/gstbufferpool.h: + * gst/gstbus.h: + * gst/gstcaps.h: + * gst/gstcapsfeatures.h: + * gst/gstchildproxy.h: + * gst/gstclock.h: + * gst/gstcontext.h: + * gst/gstcontrolbinding.h: + * gst/gstcontrolsource.h: + * gst/gstdatetime.h: + * gst/gstdebugutils.h: + * gst/gstdevice.h: + * gst/gstdevicemonitor.h: + * gst/gstdeviceprovider.h: + * gst/gstdeviceproviderfactory.h: + * gst/gstdynamictypefactory.h: + * gst/gstelement.h: + * gst/gstelementfactory.h: + * gst/gstenumtypes.h.template: + * gst/gsterror.h: + * gst/gstevent.h: + * gst/gstformat.h: + * gst/gstghostpad.h: + * gst/gstinfo.h: + * gst/gstiterator.h: + * gst/gstmemory.h: + * gst/gstmessage.h: + * gst/gstmeta.h: + * gst/gstminiobject.h: + * gst/gstobject.h: + * gst/gstpad.h: + * gst/gstpadtemplate.h: + * gst/gstparamspecs.h: + * gst/gstparse.h: + * gst/gstpipeline.h: + * gst/gstplugin.h: + * gst/gstpluginfeature.h: + * gst/gstpoll.h: + * gst/gstpreset.h: + * gst/gstprotection.h: + * gst/gstquery.h: + * gst/gstregistry.h: + * gst/gstsample.h: + * gst/gstsegment.h: + * gst/gststreamcollection.h: + * gst/gststreams.h: + * gst/gststructure.h: + * gst/gstsystemclock.h: + * gst/gsttaglist.h: + * gst/gsttagsetter.h: + * gst/gsttask.h: + * gst/gsttaskpool.h: + * gst/gsttoc.h: + * gst/gsttocsetter.h: + * gst/gsttracer.h: + * gst/gsttracerfactory.h: + * gst/gsttracerrecord.h: + * gst/gsttypefind.h: + * gst/gsttypefindfactory.h: + * gst/gsturi.h: + * gst/gstutils.h: + * gst/gstvalue.h: + gst: mark symbols explicitly for export with GST_EXPORT + One omission: gst_allocator_sysmem_get_type() was + exported but never in any public header file. + +2017-05-10 00:11:10 +0100 Tim-Philipp Müller + + * common: + * libs/gst/controller/Makefile.am: + * libs/gst/controller/controller_mkenum.py: + * libs/gst/controller/gstargbcontrolbinding.h: + * libs/gst/controller/gstdirectcontrolbinding.h: + * libs/gst/controller/gstinterpolationcontrolsource.h: + * libs/gst/controller/gstlfocontrolsource.h: + * libs/gst/controller/gstproxycontrolbinding.h: + * libs/gst/controller/gsttimedvaluecontrolsource.h: + * libs/gst/controller/gsttriggercontrolsource.h: + libs: controller: mark symbols explicitly for export with GST_EXPORT + +2017-05-09 16:19:31 +0100 Tim-Philipp Müller + + * libs/gst/base/gstadapter.h: + * libs/gst/base/gstbaseparse.h: + * libs/gst/base/gstbasesink.h: + * libs/gst/base/gstbasesrc.h: + * libs/gst/base/gstbasetransform.h: + * libs/gst/base/gstbitreader.h: + * libs/gst/base/gstbytereader.h: + * libs/gst/base/gstbytewriter.h: + * libs/gst/base/gstcollectpads.h: + * libs/gst/base/gstdataqueue.h: + * libs/gst/base/gstflowcombiner.h: + * libs/gst/base/gstpushsrc.h: + * libs/gst/base/gstqueuearray.h: + * libs/gst/base/gsttypefindhelper.h: + libs: base: mark symbols explicitly for export with GST_EXPORT + +2017-05-09 16:01:46 +0100 Tim-Philipp Müller + + * libs/gst/net/gstnetaddressmeta.h: + * libs/gst/net/gstnetclientclock.h: + * libs/gst/net/gstnetcontrolmessagemeta.h: + * libs/gst/net/gstnettimepacket.h: + * libs/gst/net/gstnettimeprovider.h: + * libs/gst/net/gstptpclock.h: + libs: net: mark symbols explicitly for export with GST_EXPORT + +2017-05-13 18:30:27 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + meson: add options to set package name and origin + https://bugzilla.gnome.org/show_bug.cgi?id=782172 + +2017-05-13 18:19:05 +0200 Stefan Sauer + + * docs/libs/Makefile.am: + docs: use the full path to ignore dirs + +2017-05-12 17:49:25 +0200 Stefan Sauer + + * libs/gst/check/gstharness.c: + docs: remove stray ',\' from doc comment + +2017-02-25 12:18:14 +0200 Sebastian Dröge + + * docs/gst/gstreamer-sections.txt: + * gst/gstbuffer.c: + * gst/gstbuffer.h: + * win32/common/libgstreamer.def: + buffer: Add GstReferenceTimestampMeta + This is a meta that generically allows to attach additional reference + timestamps to a buffer, that don't have to relate to the pipeline clock + in any way. + Examples of this could be an NTP timestamp when the media was captured, + a frame counter on the capture side or the (local) UNIX timestamp when + the media was captured. + https://bugzilla.gnome.org/show_bug.cgi?id=779213 + +2017-05-09 16:29:21 +0100 Tim-Philipp Müller + + * meson.build: + meson: bump meson version requirement to 0.40.1 + +2016-12-15 12:48:55 +0200 Sebastian Dröge + + * docs/gst/gstreamer-sections.txt: + * gst/gstbus.c: + * gst/gstbus.h: + * win32/common/libgstreamer.def: + bus: Add function to get the file descriptor of the bus + This is useful for integration with other event loops that work by + polling file descriptors. G_IO_IN will always be set whenever a message + is available currently. + https://bugzilla.gnome.org/show_bug.cgi?id=776126 + +2017-02-27 21:38:11 -0500 Nicolas Dufresne + + * gst/gst_private.h: + * gst/gstplugin.c: + * gst/gstplugin.h: + plugin: Unify static and dynamic plugin interface + This patch changes the entry point of each plugin in order to unify the + interface for static and dynamic plugin. What we do is replace the + current static plugin interface and extend the dymamic one. The plugin + entry was a C structure, name "gst_plugin_desc". With this patch, the + interface is now: + GstPpluginDesc *gst_plugin__get_desc(void); + The reason we change the C structure into function, is that it is + potentially more common to have function pointers, avoiding possible + binding language limitation. Additionally to that. This change prevents + the symbols from clashing between plugins, allowing to build once the + plugin (assuming you have -fPIC). + On the plugin loader side, we symply derive the shared object basename + to extract the plugin name. If this symbol is not found, we fallback to + gst_plugin_desc for backward compatibility. + This has one side effect, which is that the shared objects now need to + be named after their plugin name. This is generally the case with few + exceptions. The benifit of this limitation is that you can control the + gst_plugin__desc clash at file level. + https://bugzilla.gnome.org/show_bug.cgi?id=779344 + +2017-05-09 09:24:43 +0100 Tim-Philipp Müller + + * libs/gst/helpers/meson.build: + meson: fix search path for setcap + +2017-05-07 11:17:22 +0100 Tim-Philipp Müller + + * gst/gstdebugutils.c: + debugutils: make local variable static + +2017-05-05 12:23:43 +0100 Tim-Philipp Müller + + * libs/gst/helpers/ptp_helper_post_install.sh: + meson: fail silently in ptp helper post install script + .. in case permissions/capabilities could not be set. + +2017-05-05 12:02:33 +0100 Tim-Philipp Müller + + * libs/gst/helpers/meson.build: + meson: use cc.find_library() + find_library() was deprecated and removed in later versions. + +2017-05-05 11:49:08 +0100 Tim-Philipp Müller + + * config.h.meson: + * gst/meson.build: + * libs/gst/helpers/meson.build: + * libs/gst/helpers/ptp_helper_post_install.sh: + * meson.build: + * meson_options.txt: + meson: add gst-ptp-helper + https://bugzilla.gnome.org/show_bug.cgi?id=774418 + +2017-05-05 09:10:56 +0100 Tim-Philipp Müller + + * meson.build: + meson: fix indentation + No tabs please. + +2017-05-05 00:45:06 +0100 Tim-Philipp Müller + + * libs/gst/helpers/Makefile.am: + helpers: remove old cruft from CLEANFILES + These files are no longer built, so no need to clean them. + +2017-04-29 11:30:54 +0100 Tim-Philipp Müller + + * gst/Makefile.am: + * libs/gst/base/Makefile.am: + * libs/gst/check/Makefile.am: + * libs/gst/controller/Makefile.am: + * libs/gst/net/Makefile.am: + * meson.build: + g-i: no need to load registry in g-i scanner + +2017-05-04 21:37:28 +0100 Tim-Philipp Müller + + * Makefile.am: + * gst-element-check-1.0.m4: + Don't generate gst-element-check-1.0.m4 on the fly and fix meson build + This will interfere with 'git pull'. You will have to remove the + old generated gst-element-check-1.0.m4 manually if you're pulling + on a dirty build directory, sorry. + https://bugzilla.gnome.org/show_bug.cgi?id=782174 + +2017-05-04 21:06:21 +0100 Tim-Philipp Müller + + * meson.build: + meson: install gst-element-check-1.0.m4 + https://bugzilla.gnome.org/show_bug.cgi?id=782174 + +2017-04-30 12:10:49 +0900 Yasushi SHOJI + + * libs/gst/check/gstharness.c: + harness: Abort when failed to construct the specified pipeline + gst_harness_new_parse() returns without any error even if it doesn't + find the specified element. Then a succeeding call to + gst_harness_set_sink_caps_str() causes an error like this: + Unexpected critical/warning: gst_pad_push_event: assertion 'GST_IS_PAD (pad)' failed + This is a bit cryptic and doesn't give users any clue what was going + on. + gst_harness_new_parse() calls gst_harness_add_parse() with a newly + created empty harness and the given pipeline description string, but + gst_harness_add_parse() does not have a way to propagate the error + back to the caller. Since the function, gst_harness_add_parse(), is a + public API, it's not a good idea to change its signature. This patch, + instead, makes the function to g_error() when it discovers any error. + With this change the same error prints: + ** (myelement-test:25345): ERROR **: Unable to create pipeline 'bin.( myelement )': no element "myelement" + The current implementation of gst_parse_launch_full() doesn't return + partially constructed pipeline when GST_PARSE_FLAG_FATAL_ERRORS is + specified, however, this patch also adds a check for it. + https://bugzilla.gnome.org/show_bug.cgi?id=781958 + +2017-05-04 18:59:14 +0300 Sebastian Dröge + + * configure.ac: + * meson.build: + Back to development + +=== release 1.12.0 === + +2017-05-04 15:36:55 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-coreelements.xml: + * gstreamer.doap: + * meson.build: + Release 1.12.0 + +2017-05-04 15:00:16 +0300 Sebastian Dröge + + * po/af.po: + * po/ast.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/fur.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 + +2017-05-02 14:35:50 +0300 Sebastian Dröge + + * gst/gstmessage.c: + message: Don't pass a NULL debug string to g_utf8_validate() + g_utf8_validate() crashes on NULL, but NULL is valid for the debug + string nonetheless. + +2017-05-02 14:27:14 +0300 Sebastian Dröge + + * libs/gst/base/gstadapter.c: + adapter: Check if meta transform_func is NULL before using it + https://bugzilla.gnome.org/show_bug.cgi?id=782050 + +2017-05-02 10:32:54 +0200 Frédéric Dalleau + + * libs/gst/base/gstbasetransform.c: + basetransform: Check if meta transform_func is NULL before using it + An untested pointer segfaulted in webkit while playing video + on imx6 sabrelite. It turned out that the imx plugin didn't + implement the meta transform function. + The following GST_DEBUG trace was visible: + gstbasetransform.c:1779:foreach_metadata: copy metadata + GstImxVpuBufferMetaAPI + Thread 26 vqueue:src received signal SIGSEGV, Segmentation fault. + (gdb) bt + 0x00000000 in ?? () + 0x73f8d7d8 in foreach_metadata (inbuf=0xc9b020, meta=0x474b2490, + user_data=) at gstbasetransform.c:1781 + 0x73eb3ea8 in gst_buffer_foreach_meta (buffer=buffer@entry=0xc9b020, + func=0x73f8d705 , + user_data=user_data@entry=0x474b24d4) + at gstbuffer.c:2234 + https://bugzilla.gnome.org/show_bug.cgi?id=782050 + +2017-04-28 19:43:49 +0200 Víctor Manuel Jáquez Leal + + * gst/gst.c: + gst: check non-null before dereference + It is possible to use gst_deinit() without registering the base + classes. For example, when using gst_init_get_option_group() and + call the program with an invalid parameter. In that case, + gst_deinit() will lead to a segmentation fault, since there is a + dereference to a pointer that is null. + This patch validates if the type is non-null before dereferencing + it. + https://bugzilla.gnome.org/show_bug.cgi?id=781914 + +2017-04-28 11:57:41 +0200 Nicola Murino + + * scripts/gst-uninstalled: + gst-uninstalled: add opencv to bad libs + https://bugzilla.gnome.org/show_bug.cgi?id=781889 + +=== release 1.11.91 === + +2017-04-27 17:24:05 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-coreelements.xml: + * gstreamer.doap: + * meson.build: + Release 1.11.91 + +2017-04-27 15:48:33 +0300 Sebastian Dröge + + * po/af.po: + * po/ast.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/fur.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 + +2017-04-27 15:21:26 +0300 Sebastian Dröge + + * po/LINGUAS: + * po/ast.po: + * po/fur.po: + po: Update translations + +2017-04-24 20:27:33 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 60aeef6 to 48a5d85 + +2017-04-21 15:04:32 +0200 Koop Mast + + * tools/meson.build: + Meson: also build and install gst-stats-1.0 and it's man page. + https://bugzilla.gnome.org/show_bug.cgi?id=781585 + +2017-04-21 15:03:18 +0200 Koop Mast + + * tools/gst-stats-1.0.1: + Add very simple man page for gst-stats. + https://bugzilla.gnome.org/show_bug.cgi?id=781585 + +2017-04-21 10:51:59 -0300 Thibault Saunier + + * gst/gstelement.h: + doc: Fix some doctsing making GI happy + +2017-04-06 17:51:29 -0300 Thibault Saunier + + * gst/gstelement.h: + doc: Fix GstChangeState docstring + +2017-04-19 17:31:38 +0100 Sebastian Dröge + + * gst/gstinfo.c: + info: Move debug output in for_each_threshold_by_entry() to TRACE level + It's otherwise appearing many, many times in logs and usually is nothing + you're interested in. + +2017-03-31 12:22:00 +0100 Vincent Penquerc'h + + * tests/check/pipelines/seek.c: + tests: fix message leak in seek test + https://bugzilla.gnome.org/show_bug.cgi?id=780757 + +2017-03-29 19:26:53 +0900 Yasushi SHOJI + + * libs/gst/base/gstbasetransform.c: + basetransform: fix typo in debug log output + This unbalanced closing parenthesis is leftover from the commit + 8b739d91e7. It used to wrap the caps but we don't seem to do that in + the current code. + So, just remove it. No functionality has been changed. + https://bugzilla.gnome.org/show_bug.cgi?id=781484 + +2017-04-10 16:28:57 +0200 Rico Tzschichholz + + * gst/meson.build: + * libs/gst/base/meson.build: + * libs/gst/controller/meson.build: + * libs/gst/net/meson.build: + meson: A couple for GIR-generation fixes + +2017-04-12 09:48:53 -0300 Thibault Saunier + + * libs/gst/controller/meson.build: + meson: Add controller enum file as generated sources + Avoiding build failure like + https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5/build/1.0.2857 + +2017-04-11 20:19:03 +0100 Tim-Philipp Müller + + * Makefile.am: + meson: dist new meson build script + +2017-04-11 20:16:53 +0100 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/controller/controller.h: + controller: include new proxycontrolbinding header + And fix includes in docs to just include the main header (the + include for the proxycontrolbinding was wrong in the docs). + +2017-04-11 20:16:41 +0100 Tim-Philipp Müller + + * .gitignore: + .gitignore: ignore more + +2017-04-11 11:52:20 -0400 Olivier Crete + + * gst/parse/meson.build: + meson: Only check the first parameter + https://bugzilla.gnome.org/show_bug.cgi?id=781155 + +2017-04-11 10:17:40 -0300 Thibault Saunier + + * gst/parse/meson.build: + meson: Check bison and flex are recent enough + https://bugzilla.gnome.org/show_bug.cgi?id=781155 + +2017-04-10 23:48:53 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 39ac2f5 to 60aeef6 + +2017-04-10 12:24:06 -0400 Olivier Crête + + * gst/gstvalue.c: + * tests/check/gst/gstvalue.c: + value: Accept NULL as a structure + Some GstStructure properties default to NULL, so it should + be a supported value. + With unit test. + +2017-04-10 14:26:42 +0300 Sebastian Dröge + + * libs/gst/controller/Makefile.am: + controller: Fix build with srcdir!=builddir + +2017-04-10 13:52:17 +0300 Rico Tzschichholz + + * libs/gst/controller/Makefile.am: + controller: Add missing sources/headers to the GIR build + +2017-04-09 12:16:39 +0300 Sebastian Dröge + + * libs/gst/controller/meson.build: + meson: And actually make the controller mkenums rules work + +2017-04-09 12:09:33 +0300 Sebastian Dröge + + * meson.build: + meson: Add check for glib-mkenums + +2017-04-09 12:02:43 +0300 Sebastian Dröge + + * libs/gst/controller/Makefile.am: + * libs/gst/controller/controller_mkenum.py: + * libs/gst/controller/gstinterpolationcontrolsource.c: + * libs/gst/controller/gstinterpolationcontrolsource.h: + * libs/gst/controller/gstlfocontrolsource.c: + * libs/gst/controller/gstlfocontrolsource.h: + * libs/gst/controller/meson.build: + controller: Generate GLib enums automatically + +2017-04-04 17:53:39 +0100 Tim-Philipp Müller + + * gst/gstbufferpool.c: + * gst/gstbus.c: + * gst/gstdeviceproviderfactory.c: + * gst/gstdynamictypefactory.c: + * gst/gstelementfactory.c: + * gst/gstplugin.c: + * gst/gstpluginloader.c: + * gst/gstregistry.c: + * gst/gstregistrychunks.c: + * gst/gsttask.c: + * gst/gsttaskpool.c: + * gst/gsttracer.c: + * gst/gsttracerrecord.c: + * gst/gsttypefind.c: + * libs/gst/base/gstadapter.c: + * libs/gst/base/gstdataqueue.c: + * libs/gst/base/gstindex.c: + * libs/gst/controller/gstinterpolationcontrolsource.c: + * libs/gst/controller/gstlfocontrolsource.c: + * libs/gst/controller/gsttriggercontrolsource.c: + * tests/check/gst/gstcontroller.c: + * tests/check/gst/gstelementfactory.c: + Don't use deprecated g_object_newv() + Use g_object_new() instead which nowadays has a shortcut for the + no-properties check. It still does an extra GType check in the + function guard, but there's a pending patch to remove that + and it's hardly going to be a performance issue in practice, + even less so on a system that's compiled without run-time checks. + Alternative would be to move to the new g_object_new_properties() + with a fallback define for older glib versions, but it makes the + code look more unwieldy and doesn't seem worth it. + Fixes deprecation warnings when building against newer GLib versions. + https://bugzilla.gnome.org/show_bug.cgi?id=780903 + +2017-04-07 13:49:29 -0400 Olivier Crête + + * tests/check/gst/gststructure.c: + test: Add test for serializing/deserializing NULL strings + +=== release 1.11.90 === + +2017-04-07 16:30:35 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gstreamer-plugins.args: + * docs/plugins/inspect/plugin-coreelements.xml: + * gstreamer.doap: + * meson.build: + Release 1.11.90 + +2017-04-07 15:04:11 +0300 Sebastian Dröge + + * 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 + +2017-03-08 12:09:45 -0500 Olivier Crête + + * gst/gststructure.c: + structure: Don't print warning on NULL strings or pointers + Putting NULL for those is a valid serialization for the NULL value. + +2017-04-05 16:32:38 +0300 Sebastian Dröge + + * gst/gstclock.h: + gst: Use GstClockTimeDiff instead of GstClockTime as type for GST_SECOND and friends + They were (signed!) gint64 before because of G_GINT64_CONSTANT() already + and they are actually used in signed calculations. + With this change we at least ensure that an integer type of the correct + size is used for GI (it was using gint before). + +2017-04-05 15:46:26 +0300 Sebastian Dröge + + * gst/gstclock.h: + * gst/gstelementfactory.h: + * gst/gstevent.h: + * gst/gstquery.h: + gst: Update some more types and values of combined-flags constants + +2017-04-05 14:45:00 +0300 Sebastian Dröge + + * gst/gstbuffer.h: + * gst/gstmemory.h: + * gst/gstminiobject.h: + gst: Cast combined-flags constants to their respective target types + This makes C++ compilers a bit more happy without having the user of the + constants cast. It also provides the correct type information to GI. + https://bugzilla.gnome.org/show_bug.cgi?id=780923 + +2017-04-05 14:42:16 +0300 Sebastian Dröge + + * gst/gstbuffer.h: + * gst/gstmemory.h: + * gst/gstminiobject.h: + gst: Set values and types for combined-flags constants in GI annotations + +2017-04-05 14:26:33 +0300 Sebastian Dröge + + * gst/gstvalue.h: + value: Properly set value and type for GST_FLAG_SET_MASK_EXACT in GI annotations + Storing a -1 inside an unsigned integer confuses GIR based bindings + generators. + +2017-04-04 16:28:45 -0400 Nicolas Dufresne + + * data/bash-completion/helpers/gst.in: + completion: Try to avoid parsing summary + In GES, the summary refers to options that are only available when built + against gst-valdiate. Those where picked by our regex. This patch add a + initial grep to try and filter-out as best as possible the content to + which we will extract the command list. + +2017-04-04 14:25:52 -0400 Nicolas Dufresne + + * data/bash-completion/helpers/meson.build: + * data/meson.build: + * libs/gst/helpers/meson.build: + * meson.build: + meson: Add bash completion support + +2017-04-04 13:42:50 -0400 Nicolas Dufresne + + * configure.ac: + * data/Makefile.am: + * data/bash-completion/completions/gst-inspect-1.0: + * data/bash-completion/completions/gst-launch-1.0: + * data/bash-completion/helpers/.gitignore: + * data/bash-completion/helpers/gst.in: + * libs/gst/helpers/.gitignore: + * libs/gst/helpers/Makefile.am: + * pkgconfig/gstreamer-uninstalled.pc.in: + * pkgconfig/gstreamer.pc.in: + completion: Place the completion helper in libexec + This patch reorganize the bash completion scripts in order to install + the binary helper (gst-completion-helper) in libexec path rather then + share folder. Most Linux hierarchy compliance requires that no binary + executable are placed in share. We also cleanup the unused .pc entries + and remove copy pasted parts of the script. Note that other project + including the common helper, should now use $_GST_HELPER to read + the binary executable gst-completion-helper. This helper is not longer + version, as it is placed in a versionned subfolder + (libexec/gstreamer.10) just like the other helpers (scanner and ptp). + +2017-03-31 11:22:49 +0100 Vincent Penquerc'h + + * gst/gstvalue.c: + gstvalue: fix GstValue leak in structure_field_union_into + https://bugzilla.gnome.org/show_bug.cgi?id=780751 + +2017-03-31 10:38:15 +0100 Vincent Penquerc'h + + * gst/gststreamcollection.c: + streamcollection: fix racy user-after-free + The issue happens when the structure is printed by the logging + subsystem: the object is included in the log, and this will cause the + full object printout to be done there. However, after dispose, the queue + was already cleared, so the access to it (to print the object) would + assert, as the queue was already freed. The patch changes it so that the + queue is merely empty, and only freed in _finalize. + https://bugzilla.gnome.org/show_bug.cgi?id=776293 + +2017-03-27 18:30:35 +0100 Tim-Philipp Müller + + * gst/gstdebugutils.c: + debugutils: add pad EOS flag in pipeline dot file dumps + But only if set. Helps debug issues with EOS propagation. + +2017-03-27 18:27:59 +0100 Tim-Philipp Müller + + * tools/gst-launch.c: + tools: gst-launch: print structure property notifies nicer + One less layer of escaping, but still lots of ugly \. + +2017-03-24 14:33:19 -0400 Nicolas Dufresne + + * win32/common/libgstreamer.def: + Fix win32 libgstreamer.def ordering + This should fix make distcheck + +2017-03-15 17:31:39 -0400 Nicolas Dufresne + + * gst/gstparamspecs.c: + paramspec: Fix array validation logic + A paramspec validation should modify the content to match what the spec + requires and return TURE if a modification happened. This previous + implementation would only fix the first element of the array and return. + It was also return TRUE for empty array, while no modification was + needed. + https://bugzilla.gnome.org/show_bug.cgi?id=780111 + +2017-03-22 13:35:32 -0400 Nicolas Dufresne + + * gst/gstparamspecs.c: + array/fraction: In param types, use get_type() function directly + The GST_TYPE macro points to global variables initialized by the + first call to get_type. This is not an issue if you call gst_init() + but unfortunatly pygi will need to acces the param type before + init can be called. This removes an assertion. + +2017-03-22 13:33:47 -0400 Nicolas Dufresne + + * gst/gstparamspecs.c: + fraction/array: Make get_type() thread safe + Those aren't suppose to be called from multiple thread, but all + fundamental get_type() function are thread safe. Fix it to + be consistent and it may help if we change the typing mechanism + in GStreamer come day. + +2017-03-20 16:46:33 -0400 Nicolas Dufresne + + * docs/gst/gstreamer-sections.txt: + * gst/gstutils.c: + * gst/gstutils.h: + * win32/common/libgstreamer.def: + gstutils: Add helpers to get/set array properties + This is to help bindings access properties of type GST_TYPE_ARRAY. + This function will get/set the property and convert form/to + GValueArray. + New API: + gst_util_set_object_array + gst_util_get_object_array + https://bugzilla.gnome.org/show_bug.cgi?id=753754 + +2017-03-20 15:50:49 -0400 Nicolas Dufresne + + * docs/gst/gstreamer-sections.txt: + * gst/gststructure.c: + * gst/gststructure.h: + * win32/common/libgstreamer.def: + structure: Add get/set_array/list using GValueArray + This adds a binding friendly interface to get and set arrays + and list into GstStructure. + New API: + - gst_structure_set_array + - gst_structure_set_list + - gst_structure_get_array + - gst_structure_get_list + https://bugzilla.gnome.org/show_bug.cgi?id=753754 + +2017-03-20 15:40:25 -0400 Nicolas Dufresne + + * gst/gstvalue.c: + * tests/check/gst/gstvalue.c: + gstvalue: Add transformation to/from GValueArray + This allow transforming a GValue of type G_TYPE_VALUE_ARRAY to + and from GST_TYPE_ARRAY/LIST. + https://bugzilla.gnome.org/show_bug.cgi?id=753754 + +2017-03-24 14:21:30 +0200 Sebastian Dröge + + * libs/gst/base/gstqueuearray.h: + queuearray: Add G_BEGIN_DECLS and G_END_DECLS to make it usable from C++ code + +2017-03-24 17:53:31 +1100 Jan Schmidt + + * gst/gstparamspecs.c: + paramspecs: Use gst_value_array_get_type() for GstParamSpecArray type + When registering GstParamSpecArray, use the gst_value_array_get_type() + function to get the type, rather than the GST_TYPE_ARRAY macro, which + gets it from the _gst_value_array_type, which is in turn only + initialised during gst_init() + Fixes criticals with (python) bindings that look up all the + types from the gobject-introspection info as soon as they + are imported. + /usr/lib64/python3.5/site-packages/gi/module.py:178: Warning: g_param_type_register_static: assertion 'g_type_name (pspec_info->value_type) != NULL' failed + g_type = info.get_g_type() + /usr/lib64/python3.5/site-packages/gi/module.py:212: Warning: g_type_get_qdata: assertion 'node != NULL' failed + type_ = g_type.pytype + /usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_get_qdata: assertion 'node != NULL' failed + g_type.pytype = wrapper + /usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_set_qdata: assertion 'node != NULL' failed + g_type.pytype = wrapper + +2017-03-17 22:32:19 +1100 Jan Schmidt + + * libs/gst/base/gstbaseparse.c: + baseparse: Don't forget error returns when processing more + If parsing returns a non-OK flow return in the middle + of processing an input buffer, don't overwrite that + if a later return is OK again - the subclass might + return not-linked in the middle, and then discard + subsequent data without pushing while returning OK. + A later success doesn't invalidate the earlier failure, + but we should continue processing after not-linked, so + as to keep parse state consistent. + https://bugzilla.gnome.org/show_bug.cgi?id=779831 + +2017-03-20 16:54:22 +0000 Tim-Philipp Müller + + * tools/gst-launch-1.0.1: + tools: replace mentions of 'mad' on the gst-launch-1.0 man page + The 'mad' plugin has been removed. Mention mpg123audiodec instead. + https://bugzilla.gnome.org/show_bug.cgi?id=776140 + +2017-03-13 11:08:01 +0000 Vincent Penquerc'h + + * gst/gstvalue.c: + * tests/check/gst/gstvalue.c: + value: fix union of int range and int when extending on a side + The internal representation uses bounds scaled by the step + Add tests to catch those cases + +2017-03-14 22:18:36 -0700 Thiago Santos + + * plugins/elements/gstqueue.c: + queue: avoid return flushing if we have a not-linked + Return the correct flow return instead of returning always flushing. + This would cause queue to convert not-linked to flushing and making + upstream elements stop. + Based on the previous patch for queue2. + https://bugzilla.gnome.org/show_bug.cgi?id=776999 + +2017-01-22 11:26:56 -0300 Thiago Santos + + * plugins/elements/gstqueue2.c: + queue2: avoid return flushing if we have a not-linked + Return the correct flow return instead of returning always flushing. + This would cause queue2 to convert not-linked to flushing and making + upstream elements stop. + https://bugzilla.gnome.org/show_bug.cgi?id=776999 + +2016-09-18 12:02:54 -0300 Thiago Santos + + * tests/check/gst/gstbin.c: + tests: bin: add more tests for suppressed flags + Add tests to confirm flags are persisted even after removing + elements that have those suppressed flags + +2017-03-10 10:13:05 +0100 Wim Taymans + + * libs/gst/check/gstharness.c: + * plugins/elements/gstdownloadbuffer.c: + buffer: handle gst_buffer_map failures + +2017-03-10 10:12:49 +0100 Wim Taymans + + * plugins/elements/gstdownloadbuffer.c: + downloadbuffer: unlock mutex in error case + +2017-03-09 12:09:57 +1100 Jan Schmidt + + * gst/gstvalue.c: + * tests/check/gst/gstcaps.c: + * tests/check/gst/gststructure.c: + gstvalue: Do more checks when guessing at flagset strings + If guessing that a string matches a flagset, be more thorough + at checking that the string following a string of hex:hex: + actually looks like a flag set string. Add some unit tests + to catch more cases. + https://bugzilla.gnome.org/show_bug.cgi?id=779755 + +2017-03-09 12:09:57 +1100 Jan Schmidt + + * plugins/elements/gstmultiqueue.c: + * plugins/elements/gstmultiqueue.h: + multiqueue: Make min-interleave-time a configurable property + Remove a FIXME about making the minimum interleave + buffering a configurable property + +2017-03-08 14:51:42 +0000 Tim-Philipp Müller + + * gst/gstelementfactory.c: + elementfactory: promote factory not found log message to WARNING + In most cases people really want to know when an element + could not be created. + +2017-03-07 08:21:48 +0900 Seungha Yang + + * plugins/elements/gstinputselector.c: + inputselector: Always proxy position/duration query + active-pad switch causes reconfigure event with lock taken, + and upstream element might query the current position or duration + before returning the reconfigure event. + Meanwhile, gst_input_selector_get_linked_pad() is used to get srcpad + inside of default query handle, and it takes also lock. + Since inputselector is still locked by active-pad switch, and so the query + cannot be handled further. + https://bugzilla.gnome.org/show_bug.cgi?id=775445 + +2017-03-03 12:53:26 +0000 Tim-Philipp Müller + + * gst/gstinfo.h: + info: document that logging macros don't need newlines at the end + https://bugzilla.gnome.org/show_bug.cgi?id=779459 + +2017-02-24 21:35:27 +0000 Tim-Philipp Müller + + * gst/gstpad.c: + pad: add since marker to docs for new API + +2017-02-24 21:33:49 +0000 Tim-Philipp Müller + + * win32/common/libgstreamer.def: + win32: update .def file for new API + +2017-02-24 10:23:01 -0300 Thibault Saunier + + * gst/gstregistry.c: + registry: Only scan plugin files that end with an extension + Not file that would for some reason end with 'so' or 'dll', etc... + https://bugzilla.gnome.org/show_bug.cgi?id=779175 + +2017-02-17 15:48:17 -0300 Thibault Saunier + + * docs/gst/gstreamer-sections.txt: + * gst/gstpad.c: + * gst/gstpad.h: + pad: Add API to get the current state of a task + Avoiding the user to need to deal with the locking himself etc. + API: + gst_pad_task_get_state + https://bugzilla.gnome.org/show_bug.cgi?id=778830 + +2017-02-13 15:18:59 -0300 Thibault Saunier + + * gst/meson.build: + * meson.build: + * meson_options.txt: + meson: Add an option to disable usage of libunwind + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=778193 + +2017-02-24 15:59:35 +0200 Sebastian Dröge + + * meson.build: + meson: Update version + +2017-02-24 15:37:30 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.11.2 === + +2017-02-24 15:06:46 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gstreamer-plugins.args: + * docs/plugins/inspect/plugin-coreelements.xml: + * gstreamer.doap: + Release 1.11.2 + +2017-02-24 12:44:17 +0200 Sebastian Dröge + + * 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 + +2017-02-23 20:52:39 +0200 Vivia Nikolaidou + + * gst/gstvalue.c: + * tests/check/gst/gstvalue.c: + value: Add deserialization for arrays/lists outside GstStructures + This is mostly useful for properties of those types when used in + gst-launch or similar. + https://bugzilla.gnome.org/show_bug.cgi?id=777375 + +2017-02-23 20:50:38 +0200 Sebastian Dröge + + * gst/gstvalue.c: + value: Add a type abbreviation for GstFlagSet in serialization + +2017-02-23 20:47:30 +0200 Vivia Nikolaidou + + * gst/gst_private.h: + * gst/gststructure.c: + * gst/gstvalue.c: + value: Always add the type name to elements when serializing arrays/lists + But only when serializing outside of GstStructures, because in case of + GstStructure the type is already preprended to the array/list and the + GstStructure API makes sure that they have the same "generic" type so + deserialization works properly. + This keeps serialization of GstStructures the same as before, and the + GstCaps unit tests already test for that. However when serializing + standalone arrays/lists get the types added now. + +2017-02-23 20:22:03 +0200 Vivia Nikolaidou + + * gst/gst_private.h: + * gst/gststructure.c: + * gst/gstvalue.c: + value: Move list/array serialization/deserialization functions from GstStructure to GstValue + https://bugzilla.gnome.org/show_bug.cgi?id=777375 + +2017-02-23 20:16:17 +0200 Vivia Nikolaidou + + * gst/gstparamspecs.c: + * gst/gstparamspecs.h: + * win32/common/libgstreamer.def: + paramspecs: Add GstParamSpecArray for GST_TYPE_ARRAY typed properties + These are mostly useful to get our automatic + serialization/deserialization from strings and simple usage from + gst-launch or similar. + https://bugzilla.gnome.org/show_bug.cgi?id=777375 + +2017-02-21 20:23:51 +0000 Tim-Philipp Müller + + * libs/gst/base/gstbytereader.c: + * tests/check/libs/bytereader.c: + bytereader: fix peek value when scanning for 00 00 01 with non-0 offset + We would add the offset a second time in _scan_for_start_code() + when we found a result, but it's already been added to the data + pointer at the beginning of _masked_scan_uint32_peek(), so the + peeked value would be wrong if the initial offset was >0, and + we would potentially read memory out-of-bounds. + Add unit test for all of this. + https://bugzilla.gnome.org/show_bug.cgi?id=778365 + +2017-02-20 12:16:32 +0100 Wim Taymans + + * gst/gstinfo.h: + info: put () around macro arguments + Put braces around macro arguments or else we might run into problems + with operater precedence. + +2017-02-20 10:45:57 +0100 Wim Taymans + + * gst/gstdeviceproviderfactory.c: + deviceproviderfactory: ignore empty classes + +2017-02-20 10:25:50 +0100 Wim Taymans + + * gst/gstdeviceproviderfactory.c: + deviceproviderfactory: compare class against NULL + gstdeviceproviderfactory.c:501:20: error: comparison between pointer and zero character constant [-Werror=pointer-compare] + if (classes[0] == '\0') + +2017-02-18 16:49:40 +0530 Nirbheek Chauhan + + * gst/meson.build: + meson: Fix build with latest upstream git + Trivial incorrect include_directories() call + +2017-02-18 10:03:24 +0100 Peter Korsgaard + + * gst/gstconfig.h.in: + gstconfig: Fix unaligned access support for the openrisc architecture + Teach gstconfig.h.in about the openrisc (or1k) architecture. Fixes + buildroot autobuild failure: + http://autobuild.buildroot.net/results/717/717d78ce0935749f477bdf3133b6f20057a28c01/build-end.log + https://bugzilla.gnome.org/show_bug.cgi?id=778866 + +2017-02-15 21:37:31 +0100 Stefan Sauer + + * libs/gst/base/gstbasesink.c: + gstbasesink: xref symbol in docs + +2017-02-15 20:58:49 +0100 Stefan Sauer + + * gst/gstpad.h: + pad: revert the content changes from previous commit + The default behaviour when returning GST_PAD_PROBE_OK is unrelated to + the other return code. + +2017-02-15 20:37:40 +0100 Stefan Sauer + + * gst/gstpad.h: + pad: fix docs for GstPadProbeReturn + There is no 'block' value, but we have 'drop'. Also fix the markup; it + is '%' to link to constants (and enum values). + +2016-10-24 22:47:29 +0100 Tim-Philipp Müller + + * Makefile.am: + meson: dist meson build files + Ship meson build files in tarballs, so people who use tarballs + in their builds can start playing with meson already. + +2017-01-31 09:55:59 +0000 Julien Isorce + + * tests/check/pipelines/seek.c: + tests: add 2 unit tests for non-flush seek with gstbaseparse + The unit test defines a test parse element that inherit from GstBaseParse. + The test pipeline is: fakesrc ! testparse ! fakesink sync=1 + Before the fix b2c05cac8 the first new test would have fail because the + pipeline would have wait doing nothing just after proceeded the seek event. + The second new test would have fail because the pipeline would have + played the media instantly just after proceeded the seek event + (like if sync was FALSE on the sink). + https://bugzilla.gnome.org/show_bug.cgi?id=777780 + +2017-01-31 21:19:18 +0200 Sebastian Dröge + + * gst/parse/grammar.y: + parse: Don't translate the "bin" element name + Otherwise we won't be able to create bins, there is no element called + "Behälter" if you're using a German locale. + https://bugzilla.gnome.org/show_bug.cgi?id=777998 + +2016-04-15 20:54:42 +0900 Seungha Yang + + * gst/gstsegment.c: + * tests/check/gst/gstsegment.c: + segment: Modifiy inside segment condition + There is a special case that segment_start == segment_stop == start. + It's inside of segment + https://bugzilla.gnome.org/show_bug.cgi?id=764707 + +2017-01-26 16:35:27 +0000 Thibault Saunier + + * gst/gstinfo.c: + info: Check libunwind return codes + +2017-01-18 18:16:26 -0300 Thibault Saunier + + * libs/gst/controller/meson.build: + * libs/gst/net/meson.build: + meson: libs: Add gir to the source list of the dependency + +2017-01-16 11:26:16 -0300 Thibault Saunier + + * gst/gst.c: + * gst/gstallocator.c: + * gst/gstbin.c: + * gst/gstbuffer.c: + * gst/gstbufferlist.c: + * gst/gstbufferpool.c: + * gst/gstbufferpool.h: + * gst/gstbus.c: + * gst/gstcaps.c: + * gst/gstcapsfeatures.c: + * gst/gstchildproxy.c: + * gst/gstclock.c: + * gst/gstclock.h: + * gst/gstcompat.h: + * gst/gstcontext.c: + * gst/gstcontrolbinding.c: + * gst/gstcontrolsource.c: + * gst/gstdebugutils.h: + * gst/gstdevice.c: + * gst/gstdevicemonitor.c: + * gst/gstdeviceprovider.c: + * gst/gstdeviceproviderfactory.c: + * gst/gstdynamictypefactory.c: + * gst/gstelement.c: + * gst/gstelement.h: + * gst/gstelementfactory.c: + * gst/gsterror.c: + * gst/gstevent.c: + * gst/gstformat.c: + * gst/gstghostpad.c: + * gst/gstinfo.c: + * gst/gstinfo.h: + * gst/gstiterator.c: + * gst/gstmemory.c: + * gst/gstmessage.c: + * gst/gstmeta.c: + * gst/gstminiobject.c: + * gst/gstobject.c: + * gst/gstpad.c: + * gst/gstpad.h: + * gst/gstpadtemplate.c: + * gst/gstparamspecs.c: + * gst/gstparse.c: + * gst/gstpipeline.c: + * gst/gstplugin.c: + * gst/gstpluginfeature.c: + * gst/gstpoll.c: + * gst/gstpreset.c: + * gst/gstprotection.c: + * gst/gstquery.c: + * gst/gstregistry.c: + * gst/gstsample.c: + * gst/gstsegment.c: + * gst/gststreamcollection.c: + * gst/gststreams.c: + * gst/gststructure.c: + * gst/gstsystemclock.c: + * gst/gsttaglist.c: + * gst/gsttagsetter.c: + * gst/gsttask.c: + * gst/gsttaskpool.c: + * gst/gsttoc.c: + * gst/gsttocsetter.c: + * gst/gsttracer.c: + * gst/gsttracerfactory.c: + * gst/gsttracerrecord.c: + * gst/gsttypefind.c: + * gst/gsttypefindfactory.c: + * gst/gsturi.c: + * gst/gstutils.c: + * gst/gstvalue.c: + * gst/gstvalue.h: + * libs/gst/base/gstadapter.c: + * libs/gst/base/gstbaseparse.c: + * libs/gst/base/gstbasesink.c: + * libs/gst/base/gstbasesrc.c: + * libs/gst/base/gstbasetransform.c: + * libs/gst/base/gstbasetransform.h: + * libs/gst/base/gstbitreader.c: + * libs/gst/base/gstbytereader.c: + * libs/gst/base/gstbytewriter.c: + * libs/gst/base/gstcollectpads.c: + * libs/gst/base/gstdataqueue.c: + * libs/gst/base/gstdataqueue.h: + * libs/gst/base/gstflowcombiner.c: + * libs/gst/base/gstindex.c: + * libs/gst/base/gstpushsrc.c: + * libs/gst/base/gstqueuearray.c: + * libs/gst/base/gsttypefindhelper.c: + * libs/gst/check/gstbufferstraw.c: + * libs/gst/check/gstcheck.c: + * libs/gst/check/gstconsistencychecker.c: + * libs/gst/check/gstharness.c: + * libs/gst/check/gsttestclock.c: + * libs/gst/controller/gstargbcontrolbinding.c: + * libs/gst/controller/gstdirectcontrolbinding.c: + * libs/gst/controller/gstinterpolationcontrolsource.c: + * libs/gst/controller/gstlfocontrolsource.c: + * libs/gst/controller/gstproxycontrolbinding.c: + * libs/gst/controller/gsttimedvaluecontrolsource.c: + * libs/gst/controller/gsttriggercontrolsource.c: + * libs/gst/net/gstnetaddressmeta.c: + * libs/gst/net/gstnetclientclock.c: + * libs/gst/net/gstnetcontrolmessagemeta.c: + * libs/gst/net/gstnettimepacket.c: + * libs/gst/net/gstnettimeprovider.c: + * libs/gst/net/gstptpclock.c: + * plugins/elements/gstcapsfilter.c: + * plugins/elements/gstconcat.c: + * plugins/elements/gstdataurisrc.c: + * plugins/elements/gstdownloadbuffer.c: + * plugins/elements/gstfakesink.c: + * plugins/elements/gstfakesrc.c: + * plugins/elements/gstfakesrc.h: + * plugins/elements/gstfdsink.c: + * plugins/elements/gstfdsrc.c: + * plugins/elements/gstfilesink.c: + * plugins/elements/gstfilesrc.c: + * plugins/elements/gstfunnel.c: + * plugins/elements/gstidentity.c: + * plugins/elements/gstinputselector.c: + * plugins/elements/gstmultiqueue.c: + * plugins/elements/gstoutputselector.c: + * plugins/elements/gstqueue.c: + * plugins/elements/gstqueue2.c: + * plugins/elements/gststreamiddemux.c: + * plugins/elements/gsttee.c: + * plugins/elements/gsttypefindelement.c: + * plugins/elements/gstvalve.c: + Port gtk-doc comments to their equivalent markdown syntax + Modernizing our documentation and preparing a possible move to hotdoc. + This commits also adds missing @title metadatas to all SECTIONs + +2017-01-11 17:25:08 -0300 Thibault Saunier + + * gst/gstbuffer.h: + * gst/gstcontrolbinding.h: + * gst/gstelement.h: + * gst/gstevent.h: + * gst/gstmemory.h: + * gst/gstmessage.h: + * gst/gstmeta.h: + * gst/gstquery.h: + * gst/gststreamcollection.h: + * gst/gststreams.h: + * gst/gsttracer.h: + * gst/gsturi.h: + gst: Fix includes so that files can be built separately + It used to work but it has broke in the 1.10 cycle. + +2017-01-18 10:56:38 -0300 Thibault Saunier + + * gst/gstpoll.c: + gstpoll: Encode in utf-8 + +2017-01-26 15:32:31 -0800 Brendan Shanks + + * gst/gststreamcollection.h: + * gst/gststreams.h: + GstStream/GstStreamCollection: add g_autoptr() support + https://bugzilla.gnome.org/show_bug.cgi?id=777810 + +2017-01-26 16:51:21 +0000 Julien Isorce + + * libs/gst/base/gstbaseparse.c: + baseparse: correctly handle non-flush seek + Otherwise when seeking/looping to the start when reaching the end, + the sink waits for the duration of the stream. So the user hears + nothing for the duration of the stream before it actually loop again. + See example attached to the bug for that. + Existing test: + gst-plugins-good/tests/icles/test-segment-seeks foo.flac + Without the patch the user hears a crack/cut at each seek. + https://bugzilla.gnome.org/show_bug.cgi?id=777780 + +2016-05-24 14:57:54 +0200 Stian Selnes + + * libs/gst/check/Makefile.am: + * libs/gst/check/gstcheck.c: + * libs/gst/check/gstcheck.h: + check: Add API to filter g_warning/g_critical etc + New API functions to filter log messages before they are processed by + GstCheck. This can be used to discard specific messages that are + accepted by the test or to add callbacks that test specific messages. + Default bevavior when no callback is given to a filter is to discard the + message, because it does not makes sense to have a filter with no + callback which does not discard; that would be a noop. + Discarded messages will in addition to bypass the GstCheck handling also + return to GLib that the message is not fatal if it occurs. + https://bugzilla.gnome.org/show_bug.cgi?id=773091 + +2017-01-18 22:39:33 +0100 Stefan Sauer + + * gst/gstbin.c: + bin: update the docs for the event forwarding + First this sends the events not only to the sources and 2nd this is not only + for seek events. + +2017-01-18 15:07:58 +0200 Sebastian Dröge + + * gst/parse/grammar.y: + parse: Don't hold element's object lock while querying element pads' caps + This can easily deadlock if the element uses the object lock for + something internally, like posting an error message. Use an GstIterator + for iterating over the pads instead. + https://bugzilla.gnome.org/show_bug.cgi?id=777449 + +2017-01-16 09:41:19 +1100 Jan Schmidt + + * gst/gstbin.c: + gstbin: Quieten a noisy FIXME about duration caching + Only print this FIXME once per run, at it's pretty annoying in + lots of logs otherwise. + +2015-07-14 13:11:11 +0000 Jan Schmidt + + * plugins/elements/gstidentity.c: + * plugins/elements/gstidentity.h: + identity: Add ts-offset property. + Add a property to delay or advance sync time + when sync=true, with the same behaviour as + the ts-offset property in basesink + +2017-01-15 11:52:44 +0000 Tim-Philipp Müller + + * gst/gstdatetime.c: + * tests/check/gst/gstdatetime.c: + datetime: fix potential out-of-bound read on malformed datetime string + https://bugzilla.gnome.org/show_bug.cgi?id=777263 + +2017-01-13 12:34:43 +0000 Tim-Philipp Müller + + * meson.build: + meson: bump version + +2017-01-12 16:32:38 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.11.1 === + +2017-01-12 15:29:15 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-coreelements.xml: + * gstreamer.doap: + Release 1.11.1 + +2017-01-12 14:35:22 +0200 Sebastian Dröge + + * po/hr.po: + * po/id.po: + * po/pl.po: + * po/zh_CN.po: + Update .po files + +2017-01-12 14:34:18 +0200 Sebastian Dröge + + * po/hr.po: + * po/id.po: + * po/pl.po: + * po/zh_CN.po: + po: Update translations + +2017-01-12 14:26:55 +0200 Sebastian Dröge + + * 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 + +2017-01-05 13:45:37 +0100 Mark Nauwelaerts + + * tools/gst-inspect-1.0.1: + tools: update gst-inspect man page + +2017-01-05 10:32:03 -0300 Thibault Saunier + + * pkgconfig/meson.build: + meson: Do not generate .pc files for libgstcheck on windows + The lib is not built + +2017-01-04 12:10:45 +0100 Guillaume Desmottes + + * pkgconfig/Makefile.am: + * pkgconfig/gstreamer-base-uninstalled.pc.in: + * pkgconfig/gstreamer-check-uninstalled.pc.in: + * pkgconfig/gstreamer-controller-uninstalled.pc.in: + * pkgconfig/gstreamer-net-uninstalled.pc.in: + * pkgconfig/gstreamer-uninstalled.pc.in: + * pkgconfig/meson.build: + meson: generate pkg-config -uninstalled pc files + Generating those files is useful for users building the GStreamer stack + using meson and having to link it to another project which is still + using the autotools. + https://bugzilla.gnome.org/show_bug.cgi?id=776810 + +2017-01-03 12:30:02 +0000 Tim-Philipp Müller + + * gst/gstpad.h: + pad: clarify docs for GST_PAD_PROBE_DROP + +2017-01-03 02:13:30 +1100 Jan Schmidt + + * plugins/elements/gstqueue.c: + queue: Don't generate GST_FLOW_ERROR without logging + At least log a message to the debug log when generating + a GST_FLOW_ERROR, to make it possible to find where it came from. + +2017-01-03 02:12:27 +1100 Jan Schmidt + + * gst/gstpadtemplate.c: + padtemplate: Fix null pointer dereference on invalid static caps + A typo in a static caps string may result in failure to + deserialise it, so don't dereference the result without + checking. + +2017-01-03 02:11:27 +1100 Jan Schmidt + + * gst/gstcaps.c: + caps: Fix null pointer dereference on invalid static caps + A typo in a static caps string may result in failure to + deserialise it, so don't dereference the result without + checking. + +2016-12-30 19:42:57 +0100 Stefan Sauer + + * gst/gststructure.c: + structure: reword comment for gst_structure_parse_string() + The comment was a bit confusing. Turn it into gtkdoc style and reword it. + +2016-12-28 21:47:03 +0100 Stefan Sauer + + * gst/gstinfo.c: + info: re-eval GST_DEBUG env var for late categories + When registering a new debug category after _debug_init(), we need to + re check the GST_DEBUG filter settings again. + In addition when parsing the filter setting, we need to already bump up + the min-debug level to not suppress debug log statments that dynamically + register a category. This happens in libraries that use a function to + register a category on first use. + +2016-12-29 17:04:04 +0100 Edward Hervey + + * scripts/gst-uninstalled: + gst-uninstalled: Default to python3 + It's 2016, unless you've specified a different version of python, + we'll default to python3 + +2016-12-28 13:45:54 +0100 Mark Nauwelaerts + + * libs/gst/base/gstbaseparse.c: + baseparse: also unset DISCONT on buffers in reverse playback fragments + +2016-12-21 21:58:53 -0300 Thibault Saunier + + * tools/gst-inspect-1.0.1: + * tools/gst-inspect.c: + gst-launch: Add a '--types' option to filter elements by types to print + This way the user can easily figure out what are the available audio + encoder for example doing: + gst-inspect-1.0 --types Encoder/Audio + https://bugzilla.gnome.org/show_bug.cgi?id=776392 + +2016-12-22 18:45:10 +0100 Nicolas Dechesne + + * tools/gst-launch.c: + tools: gst-launch: set GST_GL_XINITTHREADS + This ensure that XInitThreads is called and so gl contexts are properly + initialized. + https://bugzilla.gnome.org/show_bug.cgi?id=776401 + +2016-12-22 16:13:22 -0300 Thibault Saunier + + * gst/gstpreset.c: + gstpreset: Lower some debug logs level + A property not defined in a preset file can simply mean that the + user wants it to be set as it default value, and we should not warn + about that. + A missing preset file in a directory can happen has there are several + directory where a preset can be found in. + +2016-12-22 23:39:39 +0530 Nirbheek Chauhan + + * gst/meson.build: + meson: Fix order of C source and header in mkenums + Otherwise gstenum_h dependencies don't get added properly to gst_dep and + we see racy build failures everywhere. + +2016-12-17 14:35:19 +0000 Tim-Philipp Müller + + * gst/build_mkenum.py: + * gst/gstenumtypes.c.template: + * gst/gstenumtypes.h.template: + * gst/meson.build: + meson: use gnome.mkenums() with template files for enum file gen + Saves us a custom script. Template files are nicer than passing + multiline templating stuff through to glib-mkenums. And we can + get rid of our custom python script. + +2016-12-22 12:05:56 +0200 Sebastian Dröge + + * gst/gstelement.c: + element: Add guard to gst_element_release_pad() to ensure the pad belongs to this element + It's a programming error to pass other pads here, and it easily causes + crashes or other problematic behaviour down the road as subclasses + usually assume to only get their pads. + +2016-12-21 22:18:17 +0100 Stefan Sauer + + * plugins/tracers/gstrusage.c: + gstrusage: explicitly register to hooks + We were attaching to any probe point to take rusage samples. The new refcount + hooks are called way too frequently though to make this still feasible. + +2016-12-21 23:49:11 +0530 Nirbheek Chauhan + + * gst/meson.build: + * meson.build: + * tests/check/meson.build: + meson: Add several missing features from configure.ac + * -Wl,-Bsymbolic-functions + * HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID + * HAVE_POSIX_TIMERS + * HAVE_MONOTONIC_CLOCK + * HAVE_UINT128_T + * HAVE_LONG_LONG + * HAVE_PROCESS_H + * HAVE_GMP + * HAVE_GSL + * HAVE_DLADDR + Also, don't use prefix for checking functions, and only check msvc + functions on Windows. + +2016-12-21 09:33:39 +0530 Nirbheek Chauhan + + * config.h.meson: + * configure.ac: + * meson.build: + build: Remove unused functions + fgetpos, fsetpos, mmap, posix_memalign. None of these are used anywhere + in the codebase. + +2016-12-21 09:00:22 +0530 Nirbheek Chauhan + + * meson.build: + * plugins/tracers/meson.build: + meson: Derive defines from header/function names + This is what Autoconf already does for us, so just do this. Avoids + people making typos while adding header or function checks. Because we + use a config.h.meson, such typos won't even be noticed. + Also, starting from Meson 0.36.0, the XCode 8 workaround that we use for + clock_gettime is no longer needed. + +2016-12-21 10:02:45 +0100 Stefan Sauer + + * tests/check/gst/gststructure.c: + gststructure: simplify test + We can compare structures, that is what the caps fucntion that was used before + would call anyway. + +2016-12-20 21:08:09 +0100 Stefan Sauer + + * gst/gsttracerrecord.h: + tracerrecord: improve the values flags docs + +2016-12-20 21:07:14 +0100 Stefan Sauer + + * plugins/tracers/gstlatency.c: + latency: the latency is not an aggregated value + The logged latencies are individual meassurements. + +2016-12-02 08:29:11 -0300 Thibault Saunier + + * plugins/tracers/gstleaks.c: + * plugins/tracers/gstleaks.h: + leaks: Allow user to set the flags to use to retrieve stack traces + https://bugzilla.gnome.org/show_bug.cgi?id=775541 + +2016-12-01 17:35:45 -0300 Thibault Saunier + + * gst/gstminiobject.c: + * gst/gstobject.c: + * gst/gsttracerutils.c: + * gst/gsttracerutils.h: + * plugins/tracers/gstleaks.c: + * plugins/tracers/gstleaks.h: + leaks: Allow tracing Gst(Mini)Object reffing operations + It makes it much simpler to later debug refcount issues. + https://bugzilla.gnome.org/show_bug.cgi?id=775541 + +2016-11-30 17:05:56 -0300 Thibault Saunier + + * plugins/tracers/gstleaks.c: + leaks: Allow passing a GstStructure to configure the tracer + But keep understanding the simple synthax with a comma separated + list of filters + https://bugzilla.gnome.org/show_bug.cgi?id=775541 + +2016-12-21 00:40:10 +1100 Jan Schmidt + + * plugins/elements/gsttypefindelement.c: + typefind: Switch to normal mode before have-type + Before emitting have-type, switch to NORMAL + mode, as part of the have-type processing sends + the caps event downstream, which might trigger + actions like downstream autoplugging or + flushing seeks - and the latter are only + passed upstream if we've set typefind to NORMAL + mode. + +2016-12-13 21:12:23 +0200 Sebastian Dröge + + * plugins/elements/gstmultiqueue.c: + multiqueue: Protect against spurious wakeups of the condition variable + +2016-11-30 21:17:55 +0100 Fabrice Bellet + + * libs/gst/base/gstbasesink.c: + basesink: fix a use after free case + The event may be disposed while being pushed, so we make sure the + debug infrastructure won't use it after the gst_pad_push(). + +2016-12-16 18:30:20 +0000 Tim-Philipp Müller + + * libs/gst/check/gstcheck.c: + check: fix typo in docs + +2016-12-16 23:45:08 +0530 Nirbheek Chauhan + + * gst/parse/meson.build: + * meson.build: + meson: Don't search for python3 twice + +2016-12-16 18:14:29 +0000 Tim-Philipp Müller + + * libs/gst/check/Makefile.am: + check: export new global variable + +2016-12-16 13:59:51 -0300 Thibault Saunier + + * libs/gst/check/gstcheck.c: + check: Avoid possible double free + +2016-12-02 11:59:43 -0300 Thibault Saunier + + * libs/gst/check/gstcheck.c: + * libs/gst/check/gstcheck.h: + check: Allow listing unit tests names + Adding options while running gst_check_init + https://bugzilla.gnome.org/show_bug.cgi?id=775540 + +2016-12-15 15:37:45 +0100 Stefan Sauer + + * plugins/tracers/gststats.c: + * tools/gst-stats.c: + tracers/stats: log optional fields instead of GST_CLOCK_TIME_NONE + Simplify the traces and avoid trace analyzer to know that ((1<<64) - 1) means + we had no value. + +2016-12-16 15:05:46 +0100 Josep Torra + + * autogen.sh: + autogen.sh: drop a leftover docbook related bit + +2016-12-08 21:01:52 +1100 Matthew Waters + + * gst/gstvalue.c: + * tests/check/gst/gstvalue.c: + value: add structure intersect/union/is_subset/fixate implementations + Allows proper usage of structures in structures in caps. Subtraction + is not implemented due to complications with empty fields representing + all possible values. + The only implementation that doesn't delegate to the already existing + GstStructure functions is the union function. + https://bugzilla.gnome.org/show_bug.cgi?id=775796 + +2016-12-08 15:41:40 +1100 Matthew Waters + + * tests/check/gst/gststructure.c: + tests/structure: add some more is_subset checks + Explicitly testing extra/missing fields and name differences + +2016-12-14 18:19:00 +0000 Tim-Philipp Müller + + * tests/check/gst/gstmeta.c: + tests: meta: add test for gst_buffer_iterate_meta*() + https://bugzilla.gnome.org/show_bug.cgi?id=775727 + +2016-12-03 13:05:03 +0000 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + * gst/gstbuffer.c: + * gst/gstbuffer.h: + * win32/common/libgstreamer.def: + buffer: add gst_buffer_iterate_meta_filtered() + For convenience. Pretty much every user of + gst_buffer_iterate_meta() filters for a specific + api type. + https://bugzilla.gnome.org/show_bug.cgi?id=775727 + +2016-12-14 15:22:30 +0000 Tim-Philipp Müller + + * gst/gstbuffer.c: + buffer: mark gst_buffer_iterate_meta() as 'skip' for bindings + The pointer state arg won't work well, bindings can use + the foreach function instead. + https://bugzilla.gnome.org/show_bug.cgi?id=775727 + +2016-12-14 06:56:55 +0100 Iñaki García Etxebarria + + * gst/gstevent.c: + g-i: Fix annotations for gst_event_new_select_streams() and gst_event_parse_select_streams() + A gchar is not a string. + https://bugzilla.gnome.org/show_bug.cgi?id=775944 + +2016-12-13 23:25:39 -0800 Reynaldo H. Verdejo Pinochet + + * gst/gstpad.c: + gstpad: only warn on performance penalty if not using the template caps + After b76ecfd992b0d3a423cc9ace5539ecd2ba509d41 introduced + GST_PAD_FLAG_ACCEPT_TEMPLATE, the performance penalty this + message is refering to (the cascading ACCEPT_CAPS query) + only applies to the cases where !GST_PAD_IS_ACCEPT_TEMPLATE + +2016-12-13 20:51:17 +0200 Sebastian Dröge + + * plugins/elements/gstqueue.c: + * plugins/elements/gstqueue.h: + * plugins/elements/gstqueue2.c: + * plugins/elements/gstqueue2.h: + queue/queue2: Protect against spurious condition variable wakeups + Make sure that we only wake up when we have to flush, or when this + specific query was handled. + https://bugzilla.gnome.org/show_bug.cgi?id=776039 + +2016-12-13 20:00:55 +0200 Sebastian Dröge + + * plugins/elements/gstqueue.c: + * plugins/elements/gstqueue2.c: + queue/queue2: Ensure that the streaming thread is unlocked after deactivating the srcpad + It might happen that the srcpad task function is never called at all, in + which case unlocking everything from there will never happen. + Make sure to unlock everything another time after the task function is + definitely stopped. + https://bugzilla.gnome.org/show_bug.cgi?id=776039 + +2016-12-12 22:14:24 +0100 Stefan Sauer + + * gst/gststructure.c: + * gst/gstvalue.c: + * tests/check/gst/gstvalue.c: + gstvalue: add serialisation for GTypes + We need this in the GstTracerRecord. This will serialize GTypes to the typename + and vice versa. + +2016-12-13 13:20:09 +0100 Thibault Saunier + + * gst/gstinfo.c: + gst: Fix building with msvc + +2016-12-12 20:55:31 +0000 Tim-Philipp Müller + + * gst/gst.c: + gst: init new flags type in gst_init() + Fix 'make check' some more. + +2016-12-12 19:25:17 +0000 Tim-Philipp Müller + + * win32/common/libgstreamer.def: + win32: update .def file for new API + +2016-11-30 15:10:48 -0300 Thibault Saunier + + info: Add a 'flags' parametter to gst_debug_get_stack_trace + This is an API break but that API has not been released yet. + We are passing a flag rather than a simple boolean as we can imagine + to implement more features in the future for example to retrieve a + stack trace for all the threads, etc.. + Retrieving source file and line numbers is pretty + expensive while getting a stack trace, this new argument + allows the user to decide to retrieve a backtrace + without those infos instead which is much faster. + For example running $ GST_LEAKS_TRACER_STACK_TRACE=1 GST_DEBUG=GST_TRACER:7 \ + GST_TRACERS=leaks time gst-launch-1.0 videotestsrc num-buffers=1 ! fakesink: + * With simple stack traces: + 0.04s user 0.02s system 99% cpu 0.060 total + * With full stack traces: + 0.66s user 0.23s system 96% cpu 0.926 total + https://bugzilla.gnome.org/show_bug.cgi?id=775423 + +2016-12-12 16:19:13 +0100 Edward Hervey + + * plugins/elements/gstfilesrc.c: + filesrc: Set GError in another error case + When changing the location while open, properly set the GError regarding + the failure. + +2016-12-10 18:38:32 +0900 Seungha Yang + + * plugins/elements/gstmultiqueue.c: + multiqueue: Fix overflow on get_buffering_level() + guint64 denominator factor for gst_util_uint64_scale_int() can cause overflow + https://bugzilla.gnome.org/show_bug.cgi?id=775921 + +2016-12-09 19:28:22 -0300 Thibault Saunier + + * meson_options.txt: + * plugins/tracers/meson.build: + meson: Fix build + +2016-12-09 17:55:39 -0300 Thibault Saunier + + * meson.build: + * plugins/tracers/meson.build: + * tests/check/meson.build: + meson: Support building with Gst debug disabled + +2016-12-09 22:39:36 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/libcompat/clock_gettime.c: + check: Fix macro check for OS X + TARGET_OS_MAC is defined on all Apple platforms. You need to check for + !TARGET_OS_IPHONE to detect OS X (now called macOS). + +2016-12-09 18:02:15 +0200 Sebastian Dröge + + * plugins/elements/gsttypefindelement.c: + typefind: Use gst_query_has_scheduling_mode_with_flags() convenience function + +2016-12-09 18:01:35 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/libcompat/clock_gettime.c: + check: Don't try to include CoreServices.h on iOS + On iOS, we have MobileCoreServices.h but it's not really needed. + +2016-12-09 17:59:53 +0530 Nirbheek Chauhan + + * config.h.meson: + * libs/gst/check/libcheck/Makefile.am: + * libs/gst/check/libcheck/README.txt: + * libs/gst/check/libcheck/libcompat/malloc.c: + * libs/gst/check/libcheck/libcompat/realloc.c: + * libs/gst/check/libcheck/meson.build: + * m4/check-checks.m4: + check: Don't check for malloc/realloc and try to fallback + When malloc is not available, this will set #define malloc rpl_malloc + which is implemented only inside libcheck, and not everything will link + to libcheck. + We don't really need to care too much about how malloc is implemented + and we don't care about platforms that don't implement malloc. + +2016-12-09 16:03:41 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/README.txt: + Add a README.txt with context for libcheck + https://bugzilla.gnome.org/show_bug.cgi?id=775870 + +2016-12-09 15:18:11 +0530 Nirbheek Chauhan + + * config.h.meson: + * libs/gst/check/libcheck/Makefile.am: + * libs/gst/check/libcheck/libcompat/alarm.c: + * libs/gst/check/libcheck/libcompat/clock_gettime.c: + * libs/gst/check/libcheck/libcompat/getline.c: + * libs/gst/check/libcheck/libcompat/gettimeofday.c: + * libs/gst/check/libcheck/libcompat/libcompat.c: + * libs/gst/check/libcheck/libcompat/libcompat.h: + * libs/gst/check/libcheck/libcompat/localtime_r.c: + * libs/gst/check/libcheck/libcompat/malloc.c: + * libs/gst/check/libcheck/libcompat/realloc.c: + * libs/gst/check/libcheck/libcompat/strdup.c: + * libs/gst/check/libcheck/libcompat/strsignal.c: + * libs/gst/check/libcheck/libcompat/timer_create.c: + * libs/gst/check/libcheck/libcompat/timer_delete.c: + * libs/gst/check/libcheck/libcompat/timer_settime.c: + * libs/gst/check/libcheck/meson.build: + * libs/gst/check/meson.build: + * m4/check-checks.m4: + * meson.build: + libcheck: Update the compatibility code and checks + This brings us up-to-speed with the latest compatibility code from upstream + check git. For completeness, we do all the checks that upstream check does, but + we skip the snprintf/vsnprintf code because it's not straightforward (involves + running code and that is bad for cross-compilation) and not necessary for the + platforms we support anyway. + If someone really wants this, they can uncomment this and copy the relevant + checks from the check git repository. + https://bugzilla.gnome.org/show_bug.cgi?id=775870 + +2016-12-09 15:18:11 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/Makefile.am: + * libs/gst/check/libcheck/libcompat/alarm.c: + * libs/gst/check/libcheck/libcompat/clock_gettime.c: + * libs/gst/check/libcheck/libcompat/libcompat.c: + * libs/gst/check/libcheck/libcompat/libcompat.h: + * libs/gst/check/libcheck/libcompat/localtime_r.c: + * libs/gst/check/libcheck/libcompat/strsignal.c: + * libs/gst/check/libcheck/libcompat/timer_create.c: + * libs/gst/check/libcheck/libcompat/timer_delete.c: + * libs/gst/check/libcheck/libcompat/timer_settime.c: + * libs/gst/check/libcheck/meson.build: + libcheck: Just move libcompat files to a subdir + Makes it clearer which files are actually used in libcheck and which are used + for cross-platform compatibility. This is going to be especially useful when we + add all the libcompat fallback code that upstream libcheck has which will add + about 6 new files. + https://bugzilla.gnome.org/show_bug.cgi?id=775870 + +2016-12-09 15:18:11 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/check.c: + * libs/gst/check/libcheck/check.h.in: + * libs/gst/check/libcheck/check_error.c: + * libs/gst/check/libcheck/check_error.h: + * libs/gst/check/libcheck/check_impl.h: + * libs/gst/check/libcheck/check_list.c: + * libs/gst/check/libcheck/check_list.h: + * libs/gst/check/libcheck/check_log.c: + * libs/gst/check/libcheck/check_log.h: + * libs/gst/check/libcheck/check_msg.c: + * libs/gst/check/libcheck/check_msg.h: + * libs/gst/check/libcheck/check_pack.c: + * libs/gst/check/libcheck/check_pack.h: + * libs/gst/check/libcheck/check_print.c: + * libs/gst/check/libcheck/check_print.h: + * libs/gst/check/libcheck/check_run.c: + * libs/gst/check/libcheck/check_str.c: + * libs/gst/check/libcheck/check_str.h: + libcheck: port to latest check git + Upstream seems to have stopped doing releases, but we need to update for better + Windows and Visual Studio support. + This patch only updates the libcheck sources and ignores the compatibility + sources for now. + https://bugzilla.gnome.org/show_bug.cgi?id=775870 + +2016-12-08 22:03:19 +0100 Stefan Sauer + + * plugins/tracers/gstlog.c: + tracers/log: log more detail + Log the objects like we would in GST_TRACE_OBJECT. Add the hook function into + the fucntion field. + +2016-12-08 22:02:17 +0100 Stefan Sauer + + * plugins/tracers/gstlog.c: + tracer/log: fix hook prototype + s/GstElement/GstPad/ + +2016-12-08 20:20:17 +0100 Stefan Sauer + + * gst/gstpad.c: + tracer: move the PAD_LINK tracer hook to _pad_link_full() + This is ultimately executing the pad_link. In the previous position we missed + some links, notably ghostpads. + +2016-12-07 21:53:49 +0100 Stefan Sauer + + * plugins/tracers/gstlatency.c: + tracer/latency: clear qdata + When reading the qdata, clear it to avoid it being read and unreffed again. + Fixes #774332 + +2016-12-06 22:32:31 +0100 Peter Seiderer + + * gst/gstconfig.h.in: + gstconfig: Fix unaligned access support for arc and nios2 architectures + Fixes buildroot autobuild failures ([1], [2]). + [1] http://autobuild.buildroot.net/results/fbd/fbdcd90635d5ec3a62ad98a7ff93b71b8e5ecde4 + [2] http://autobuild.buildroot.net/results/f3c/f3c9b0ed4ffb114221057237ce22c995b673a98b + https://bugzilla.gnome.org/show_bug.cgi?id=775728 + +2016-11-22 16:52:46 +0900 Seungha Yang + + * docs/gst/gstreamer-sections.txt: + * gst/gsturi.c: + * gst/gsturi.h: + * tests/check/gst/gsturi.c: + * win32/common/libgstreamer.def: + uri: Add new uri API to get media fragments URI as table + As an usecase of URI fragment, it can indicate temporal or spatial + dimension of a media stream. To easily parse key-value pair, + newly added gst_uri_get_media_fragment_table () API will provide + the table of key-value pair likewise URI query. + See also https://www.w3.org/TR/media-frags/ + https://bugzilla.gnome.org/show_bug.cgi?id=774830 + +2016-12-06 16:27:23 +0100 Ricardo Ribalda Delgado + + * libs/gst/helpers/gst: + helpers/gst: Get bash completion options from gst-launch + It is more likely that gst-launch is installed than ges-launch + Reported-by: Marianna Smidth Buschle + https://bugzilla.gnome.org/show_bug.cgi?id=775714 + +2016-12-06 18:06:56 +0000 Tim-Philipp Müller + + * configure.ac: + configure: update for removed docs/design directory + +2016-12-05 18:16:34 -0300 Thibault Saunier + + * docs/Makefile.am: + * docs/design/Makefile.am: + * docs/design/draft-klass.txt: + * docs/design/draft-metadata.txt: + * docs/design/draft-push-pull.txt: + * docs/design/draft-tagreading.txt: + * docs/design/part-MT-refcounting.txt: + * docs/design/part-TODO.txt: + * docs/design/part-activation.txt: + * docs/design/part-buffer.txt: + * docs/design/part-buffering.txt: + * docs/design/part-bufferpool.txt: + * docs/design/part-caps.txt: + * docs/design/part-clocks.txt: + * docs/design/part-context.txt: + * docs/design/part-controller.txt: + * docs/design/part-conventions.txt: + * docs/design/part-dynamic.txt: + * docs/design/part-element-sink.txt: + * docs/design/part-element-source.txt: + * docs/design/part-element-transform.txt: + * docs/design/part-events.txt: + * docs/design/part-framestep.txt: + * docs/design/part-gstbin.txt: + * docs/design/part-gstbus.txt: + * docs/design/part-gstelement.txt: + * docs/design/part-gstghostpad.txt: + * docs/design/part-gstobject.txt: + * docs/design/part-gstpipeline.txt: + * docs/design/part-latency.txt: + * docs/design/part-live-source.txt: + * docs/design/part-memory.txt: + * docs/design/part-messages.txt: + * docs/design/part-meta.txt: + * docs/design/part-miniobject.txt: + * docs/design/part-missing-plugins.txt: + * docs/design/part-negotiation.txt: + * docs/design/part-overview.txt: + * docs/design/part-preroll.txt: + * docs/design/part-probes.txt: + * docs/design/part-progress.txt: + * docs/design/part-push-pull.txt: + * docs/design/part-qos.txt: + * docs/design/part-query.txt: + * docs/design/part-relations.txt: + * docs/design/part-scheduling.txt: + * docs/design/part-seeking.txt: + * docs/design/part-segments.txt: + * docs/design/part-seqnums.txt: + * docs/design/part-sparsestreams.txt: + * docs/design/part-standards.txt: + * docs/design/part-states.txt: + * docs/design/part-stream-selection.txt: + * docs/design/part-stream-status.txt: + * docs/design/part-streams.txt: + * docs/design/part-synchronisation.txt: + * docs/design/part-toc.txt: + * docs/design/part-tracing.txt: + * docs/design/part-trickmodes.txt: + docs: Remove design doc as they have been moved to gst-docs + https://bugzilla.gnome.org/show_bug.cgi?id=775667 + +2016-11-29 17:34:40 -0300 Thibault Saunier + + * gst/gstinfo.c: + info: Properly start and end dwfl sessions when getting stack traces + We were creating a new session to retrive each line of a stack trace + and we are supposed to start it once for a whole stack trace. + And pass the whole file to gst-indent. + https://bugzilla.gnome.org/show_bug.cgi?id=775365 + +2016-12-02 22:47:32 +0100 Marcin Kolny + + * libs/gst/net/gstnetclientclock.c: + net: set clock name in the constructor + gst_net_client_clock_new() and gst_ntp_clock_new() didn't set the + "name" property. + https://bugzilla.gnome.org/show_bug.cgi?id=775538 + +2016-12-05 21:09:52 +0100 Peter Seiderer + + * gst/gstconfig.h.in: + gstconfig: Fix unaligned access support for microblaze and xtensa architectures + Fixes buildroot autobuild failures, for details see: + http://lists.busybox.net/pipermail/buildroot/2016-December/178895.html + https://bugzilla.gnome.org/show_bug.cgi?id=775661 + +2016-12-02 15:30:59 +0000 Tim-Philipp Müller + + * gst/gstmeta.h: + * tests/check/gst/struct_arm.h: + * tests/check/gst/struct_hppa.h: + * tests/check/gst/struct_i386.h: + * tests/check/gst/struct_i386w.h: + * tests/check/gst/struct_ppc32.h: + * tests/check/gst/struct_ppc64.h: + * tests/check/gst/struct_sparc.h: + * tests/check/gst/struct_x86_64.h: + meta: remove unnecessary padding for GstMetaInfo struct + This structure is always allocated by GStreamer, can't be + subclassed or extended, and is never allocated or used on + the stack, so we don't need any padding and can extend it + as we please. + +2016-06-29 19:36:09 +0100 Tim-Philipp Müller + + * plugins/elements/gstelements_private.c: + * plugins/elements/gstelements_private.h: + * plugins/elements/gstfakesink.c: + * plugins/elements/gstidentity.c: + fakesink, identity: print metas attached to buffer in silent=false mode + +2016-12-05 11:01:45 +0200 Sebastian Dröge + + * plugins/elements/gstconcat.c: + * plugins/elements/gsttee.c: + elements: Handle GstIterator RESYNC return value correctly in gst_iterator_foreach() + +2016-12-04 12:15:09 +0100 Stefan Sauer + + * plugins/tracers/gstlog.c: + tracers/log: log messages in message category + +2016-12-03 08:19:08 +0100 Edward Hervey + + * README: + * autogen.sh: + * common: + Automatic update of common submodule + From f980fd9 to 39ac2f5 + +2016-12-01 18:20:11 +0200 Sebastian Dröge + + * gst/gstbin.c: + bin: Make sure to resync iterators and handle RESYNC at all in gst_iterator_foreach() calls + +2016-11-29 18:14:24 +0200 Sebastian Dröge + + * gst/gstclock.c: + clock: Fix offsetting of times_temp relative to the times array + +2016-11-29 10:34:14 -0300 Thibault Saunier + + * meson.build: + meson: Set default debug level to ERROR when running from git + +2016-11-28 19:28:27 +0530 Nirbheek Chauhan + + * gst/meson.build: + * plugins/elements/meson.build: + * tests/check/meson.build: + meson: Add Autotools changes that weren't mirrored + commits: + a7d282d27256ad1d1a55afc37d1db7f60b040089 + 6fdb4df0f8c8a9e39f7f7cb73ab65306fb0517f5 + 1aceebd67f0161806dc3b4b68488d599290f283e + +2016-11-28 14:11:27 +0100 Edward Hervey + + * tests/check/gst/gstpipeline.c: + check/pipeline: Make failure message more informative + This will provide maybe a bit more insight the next time it fails + +2016-11-28 14:00:18 +0100 Edward Hervey + + * tests/check/gst/gstmemory.c: + check/memory: Don't leak the custom allocator + +2016-11-28 13:48:16 +0100 Edward Hervey + + * gst/gstutils.c: + gstutils: Fix a pad leak + When requesting a pad from a template and it's already linked, this + means it was a static pad. Since we only want to return an *available* + pad, we must return NULL ... but we must also remove the reference + we got from getting that static pad. + The "No need to unref" message (which wasn't true for quite some time) + dates back from the very very very first commit introducing the 0.10 + features. + +2016-11-28 09:50:40 +0100 Edward Hervey + + * tests/check/elements/queue2.c: + check: Fix leak in queue2 test + +2016-11-23 15:41:28 +0200 Sebastian Dröge + + * docs/gst/gstreamer-sections.txt: + * gst/Makefile.am: + * gst/gst_private.h: + * gst/gstclock-linreg.c: + * gst/gstclock.c: + * gst/gstutils.c: + * gst/gstutils.h: + * tests/check/gst/gstclock.c: + * tests/check/gst/gstutils.c: + * win32/common/libgstreamer.def: + utils: Export linear regression calculation as public function + It is useful outside the GstClock code too. + https://bugzilla.gnome.org/show_bug.cgi?id=774916 + +2016-11-28 11:56:23 +0000 Tim-Philipp Müller + + * .gitignore: + * Makefile.am: + * configure.ac: + * gstreamer.spec.in: + Remove generated gstreamer.spec file + Likely extremely bitrotten, and we should not ship this anyway. + +2016-11-28 11:09:08 +0000 Tim-Philipp Müller + + * docs/plugins/Makefile.am: + * docs/plugins/gstreamer-plugins-docs.sgml: + * docs/plugins/gstreamer-plugins-sections.txt: + * docs/plugins/gstreamer-plugins.args: + * docs/plugins/gstreamer-plugins.hierarchy: + * docs/plugins/gstreamer-plugins.interfaces: + * docs/plugins/inspect/plugin-coreelements.xml: + docs: add dataurisrc to docs and update + https://bugzilla.gnome.org/show_bug.cgi?id=774527 + +2016-11-28 11:10:05 +0000 Tim-Philipp Müller + + * tests/check/elements/filesrc.c: + tests: filesrc: init and clear GCond and mutex + Might otherwise leak on non-Linux systems. + +2016-11-28 11:08:24 +0000 Tim-Philipp Müller + + * tests/check/Makefile.am: + * tests/check/elements/.gitignore: + * tests/check/elements/dataurisrc.c: + tests: rewrite and enable dataurisrc test + Can't use playbin for core unit tests. + https://bugzilla.gnome.org/show_bug.cgi?id=774527 + +2016-11-28 11:07:20 +0000 Tim-Philipp Müller + + * plugins/elements/Makefile.am: + * plugins/elements/gstdataurisrc.c: + * plugins/elements/gstelements.c: + elements: add dataurisrc to build + Moved from -bad. + +2016-11-28 10:42:46 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: fix string leak in property getter + +2016-11-28 11:18:39 +0000 Tim-Philipp Müller + + Move dataurisrc element from -bad + https://bugzilla.gnome.org/show_bug.cgi?id=774527 + +2016-11-28 12:28:28 +0200 Sebastian Dröge + + * gst/gstmessage.c: + message: Ensure that the "debug" field of error/warning/info messages is valid UTF-8 + The caller might pass arbitrary data here that caused the error, and + trying to set invalid UTF-8 in a GstStructure causes it to be not set at + all. Later when trying to parse it, the field will not exist and the + return value will point to invalid memory. Prevent this by storing NULL + instead. + Also print a g_warning(), the caller should never ever do this to begin + with. + +2016-11-26 11:20:51 +0000 Tim-Philipp Müller + + * .gitmodules: + common: use https protocol for common submodule + https://bugzilla.gnome.org/show_bug.cgi?id=775110 + +2016-11-26 11:06:20 +0000 Hanno Boeck + + * scripts/create-uninstalled-setup.sh: + scripts: create-uninstalled-setup: use https protocol to clone repos + The git:// protocol is problematic from a security perspective, as + it provides no authenticity of data. https:// also works better in + environments with restricted network connectivity. + Also add CLONE_OPTS to do shallow checkouts more easily. + https://bugzilla.gnome.org/show_bug.cgi?id=775110 + +2016-11-15 03:03:22 +0800 Ting-Wei Lan + + * meson.build: + meson: Support execinfo.h on FreeBSD by using -lexecinfo + FreeBSD supports execinfo.h and backtrace* functions, but + using them requires linking with -lexecinfo. + Requires sufficiently-new meson with #1053 fixed (post-0.36). + https://bugzilla.gnome.org/show_bug.cgi?id=774424 + +2016-11-23 18:56:20 +0100 Edward Hervey + + * tools/Makefile.am: + tools: Remove files to be cleaned + manpages are no longer auto-generated + cov-related files should not be there (if needed we could use gitignore) + +2016-11-04 18:54:10 -0400 Olivier Crête + + * libs/gst/base/gstbasesink.c: + * libs/gst/base/gstbasesink.h: + basesink: Document the interaction between unlock() and wait_preroll() + This was totally non-obvious, the kind of big problem is that subclasses must + be able to unblock their streaming thread and continue exactly where they left off + on unpause! + https://bugzilla.gnome.org/show_bug.cgi?id=773912 + +2016-11-04 18:46:45 -0400 Olivier Crête + + * plugins/elements/gstelements_private.c: + * plugins/elements/gstelements_private.h: + * plugins/elements/gstfdsink.c: + * plugins/elements/gstfdsink.h: + * plugins/elements/gstfilesink.c: + fdsink: Block in preroll_wait on unlock + The correct behaviour of anything stuck in the ->render() function + between ->unlock() and ->unlock_stop() is to call + gst_base_sink_wait_preroll() and only return an error if this returns an + error, otherwise, it must continue where it left off! + https://bugzilla.gnome.org/show_bug.cgi?id=773912 + +2016-11-23 18:57:17 +0200 Sebastian Dröge + + * gst/gstelement.c: + element: Don't increment NULL pointers + Trivial workaround for coverity false warning. + CID 1394488, 1394487. + +2016-11-23 09:58:44 +0000 Tim-Philipp Müller + + * tools/.gitignore: + * tools/Makefile.am: + tools: fix distcheck and .gitignore + +2016-11-03 10:30:53 +0100 Antonio Ospite + + * tools/meson.build: + meson: tools: install the man pages + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-03 10:30:53 +0100 Antonio Ospite + + * tools/.gitignore: + * tools/Makefile.am: + * tools/gst-inspect-1.0.1: + * tools/gst-launch-1.0.1: + * tools/gst-typefind-1.0.1: + tools: ship the final man pages directly, no more man pages templates + Don't use templates for the man pages, the API version change is a rare + event, so it's not really worth keeping in place the "sed" boilerplate + to have it set at build time. + Shipping the final man pages directly also makes it easer to install the + man pages with meson (in a future commit). + Note that now all the occurrences of the programs names have the API + version as a suffix. + Traditionally the example command lines looked like: + gst-launch ... + Now they look like: + gst-launch-1.0 ... + This reflects the actual programs names and makes it easier to copy and + paste the example commands. + Also, the .gitignore file is adjusted not to ignore the final man pages + anymore. + You may need to clean your src/build directory before pulling in this + patch. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-18 13:09:21 +1100 Matthew Waters + + * docs/libs/gstreamer-libs-docs.sgml: + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/controller/Makefile.am: + * libs/gst/controller/gstproxycontrolbinding.c: + * libs/gst/controller/gstproxycontrolbinding.h: + * libs/gst/controller/meson.build: + * tests/check/libs/controller.c: + * win32/common/libgstcontroller.def: + controllers: add new proxy control binding + Allows proxying the control interface from one property on one GstObject + to another property (of the same type) in another GstObject. + E.g. in a parent-child relationship, one may need to + gst_object_sync_values() on the child and have a binding (set elsewhere) + on the parent update the value. + Note: that this doesn't solve GObject property forwarding and must be + taken care of by the implementation manually or using GBinding. + https://bugzilla.gnome.org/show_bug.cgi?id=774657 + +2016-10-07 11:39:26 +0100 Julien Isorce + + * gst/gstmemory.c: + * tests/check/gst/gstmemory.c: + memory: log with GST_INFO instead GST_ERROR when subclass map failed. + Add unit test to ensure that. + It can be a normal execution path to do some map trials and there is + no need to worry the user in that case. + The application has to check the return value of gst_memory_map. + https://bugzilla.gnome.org/show_bug.cgi?id=765600 + +2016-11-17 17:37:16 +0200 Sebastian Dröge + + * libs/gst/base/gstbasetransform.c: + basetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed + It might've failed just because of flushing or other things, and we + should retry again on the next possibility if something ever calls in + here again. + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 16:39:52 -0800 Scott D Phillips + + * meson.build: + meson: add_global_arguments -> add_project_arguments + https://bugzilla.gnome.org/show_bug.cgi?id=774656 + +2016-11-16 23:19:28 +1100 Jan Schmidt + + * plugins/elements/gstmultiqueue.c: + multiqueue: Make sure not-linked streams get woken up + When running in sync-by-running-time mode, pad groups + that have exactly 1 pad and it's not-linked might never + wake up after computing a high time, as the per-pad-group + high time was only recomputed when a pad in the group + advances. + Wake those up using the global multiqueue high-time across + all other groups instead. + https://bugzilla.gnome.org/show_bug.cgi?id=774322 + +2016-11-16 10:55:29 +0000 Tim-Philipp Müller + + * docs/gst/gstreamer-docs.sgml: + * docs/gst/gstreamer-sections.txt: + * gst/gstbin.h: + * gst/gstelement.h: + * gst/gstutils.h: + docs: misc fixes + +2016-11-16 10:51:48 +0000 Tim-Philipp Müller + + * gst/gstutils.h: + utils: use temp var in fallback GST_WRITE_*() macros + To make sure the value is only expanded/used once, in case + there are side effects to it, and to avoid calculating it + or looking it up multiple times if there is a calculation + or lookup involved. + +2016-11-16 00:30:26 +1100 Jan Schmidt + + * libs/gst/base/gstbaseparse.c: + baseparse: Fix previous commit + Check the correct segment format value. + parse->segment.format is the format we're outputting in, + not the upstream format. Use parse->priv->upstream_format instead, + and make sure it's set in pull mode. + +2016-11-15 23:51:06 +1100 Jan Schmidt + + * libs/gst/base/gstbaseparse.c: + baseparse: Restrict query/convert responses when demuxing + If the parser is not parsing a raw elementary stream, restrict + the position, duration and conversion query replies to + things we can sensibly answer about - especially don't do + random conversions to/from bytes. + +2016-11-15 22:39:43 +1100 Jan Schmidt + + * plugins/elements/gstdownloadbuffer.c: + * plugins/elements/gstqueue.c: + * plugins/elements/gstqueue2.c: + * plugins/elements/gsttypefindelement.c: + queues: Don't return negative position queries. + When subtracting queued data sizes from upstream queries + in queue, queue2, downloadbuffer and typefind, clamp the + result to not go negative, in case upstream returned + a nonsense value that's too small (as could happen if + upstream is estimating, or just broken) + +2016-11-14 11:27:05 -0800 Scott D Phillips + + * gst/gstbuffer.c: + * gst/gstprotection.c: + * libs/gst/net/gstnetaddressmeta.c: + * libs/gst/net/gstnetcontrolmessagemeta.c: + Cast away const from GstMetaInfo in *_get_meta_info() functions + MSVC warns about the const in the implicit argument conversion in the + calls to g_once_init_{enter,leave}. It's OK so explicitly cast it. + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-14 11:32:51 -0800 Scott D Phillips + + * libs/gst/base/gsttypefindhelper.c: + typefindhelper: Update prototype of helper_find_suggest() + forward declaration prototype is updated to match the change in: + 5a72c23 Change some types to match their prototypes + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-14 21:28:22 +0000 Tim-Philipp Müller + + * Makefile.am: + * configure.ac: + * win32/MANIFEST: + * win32/README.txt: + * win32/common/config.h: + * win32/common/gstconfig.h: + * win32/common/gstenumtypes.c: + * win32/common/gstenumtypes.h: + * win32/common/gstversion.h: + win32: remove copies of generated headers + +2016-11-14 21:18:13 +0000 Tim-Philipp Müller + + * configure.ac: + * docs/Makefile.am: + * docs/htmlinstall.mak: + * docs/image-eps: + * docs/image-pdf: + * docs/image-png: + * docs/manuals.mak: + * docs/slides/Makefile.am: + * docs/slides/README: + * docs/slides/abstract: + * docs/slides/abstract.save: + * docs/slides/outline: + * docs/slides/slides: + * docs/url.entities: + * docs/xsl/Makefile.am: + * docs/xsl/admon.xsl: + * docs/xsl/css.xsl: + * docs/xsl/fileext.xsl: + * docs/xsl/fo.xsl: + * docs/xsl/html.xsl: + * docs/xsl/keycombo.xsl: + * docs/xsl/ulink.xsl: + docs: remove more docbook build cruft that's no longer needed + +2016-11-14 21:29:43 +0100 Stefan Sauer + + * docs/README: + docs/README: remove more outdated pieces of info/advice + +2016-10-20 22:32:50 +0200 Stefan Sauer + + * docs/design/part-tracing.txt: + * scripts/gst-plot-traces.sh: + scripts/gst-plot-traces.sh: make log parsing a bit more solid + Use grep -o to grab the log message only. This makes it work with colored log + files too. Prefilter the log to not catch tracer classes. + Update the commandline for the script in the docs. + +2016-10-20 15:38:46 -0300 Thibault Saunier + + * gst/printf/meson.build: + * libs/gst/check/libcheck/meson.build: + * meson.build: + meson: require meson 0.36 and use new `pic` arg on static libs + Removes a meson warning and some special casing we had. + +2016-11-11 10:30:44 -0800 Scott D Phillips + + * gst/gstevent.h: + * gst/gsttask.c: + * libs/gst/base/gsttypefindhelper.c: + Change some types to match their prototypes + Particularly note that the underlying integer type of the enum + GstTypeFindProbability is implementation dependent and may not match + guint. + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-14 18:04:28 +0000 Tim-Philipp Müller + + * 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: + po: update for new translatable strings + +2016-11-14 17:46:07 +0000 Tim-Philipp Müller + + * Makefile.am: + * autogen.sh: + * configure.ac: + * docs/Makefile.am: + * docs/README: + * docs/faq/.gitignore: + * docs/faq/Makefile.am: + * docs/faq/base.css: + * docs/faq/dependencies.xml: + * docs/faq/developing.xml: + * docs/faq/faq.xml: + * docs/faq/general.xml: + * docs/faq/getting.xml: + * docs/faq/git.xml: + * docs/faq/legal.xml: + * docs/faq/start.xml: + * docs/faq/troubleshooting.xml: + * docs/faq/using.xml: + * gstreamer.spec.in: + docs: remove FAQ which was moved into gst-docs module + +2015-04-29 12:34:49 +0200 Nicola Murino + + * scripts/gst-uninstalled: + gst-uninstalled: add GIO_EXTRA_MODULES + In case glib is installed into local prefix dir. + https://bugzilla.gnome.org/show_bug.cgi?id=748626 + +2016-11-12 12:36:05 +0000 Tim-Philipp Müller + + * gst/gstutils.h: + utils: faster GST_WRITE_* macros if unaligned access is possible + https://bugzilla.gnome.org/show_bug.cgi?id=599546 + +2016-11-11 20:31:03 +0000 Tim-Philipp Müller + + * gst/parse/grammar.y: + parse: better error message when linking two elements with capsfilter fails + https://bugzilla.gnome.org/show_bug.cgi?id=760550 + +2016-11-11 16:11:15 +0000 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + * gst/gstinfo.c: + * gst/gstinfo.h: + * win32/common/libgstreamer.def: + Add gst_print(), gst_println(), gst_printerr(), gst_printerrln() + Useful for debugging. + https://bugzilla.gnome.org/show_bug.cgi?id=766470 + +2016-11-11 10:23:17 -0800 Scott D Phillips + + * gst/gsttaglist.c: + taglist: remove `return void` in gst_tag_register + MSVC warns on this and the documentation about the warning says: + > The compiler assumes the function returns a value of type int + which is a little scary, so lets just remove the unnecessary 'return' + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-05-09 15:32:43 +0200 Nicolas Huet + + * tests/check/libs/adapter.c: + tests: add unit test for gst_adapter_prev_pts_at_offset() + https://bugzilla.gnome.org/show_bug.cgi?id=765662 + +2016-04-27 10:57:29 +0200 Nicolas Huet + + * libs/gst/base/gstadapter.c: + adapter: fix distance when getting prev pts/dts at offset + https://bugzilla.gnome.org/show_bug.cgi?id=765662 + +2016-10-26 22:38:07 -0700 Scott D Phillips + + * meson.build: + meson: don't add_global_arguments when being built as a subproject + https://bugzilla.gnome.org/show_bug.cgi?id=773568 + +2016-07-21 10:52:30 +0200 Guillaume Desmottes + + * libs/gst/base/gstbasetransform.c: + basetransform: fix pool leak when early returning in decide_allocation + https://bugzilla.gnome.org/show_bug.cgi?id=769023 + +2016-07-27 13:39:50 +0200 Guillaume Desmottes + + * gst/gstinfo.c: + info: add GstStream and GstStreamCollection support to gst_debug_print_object() + https://bugzilla.gnome.org/show_bug.cgi?id=769220 + +2016-08-12 08:03:41 +0900 Seungha Yang + + * libs/gst/base/gstbasesrc.c: + basesrc: Support PROTECTION event from application + Application may want to send PROTECTION event to the src element. + https://bugzilla.gnome.org/show_bug.cgi?id=769775 + +2016-11-03 13:34:18 +0100 Antonio Ospite + + * tools/meson.build: + meson: tools: generate the targets dynamically + The three targets are the same except for input and output + files, use a loop and generate them dynamically. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-03 15:21:05 +0100 Antonio Ospite + + * tools/gst-inspect.1.in: + * tools/gst-typefind.1.in: + tools: don't mention gst-feedback in man pages + gst-feedback no longer exists. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-03 00:18:21 +0100 Antonio Ospite + + * tools/gst-launch.1.in: + tools: put the examples descriptions before the commands in man page + Put the description of the example command lines before the command + instead of after them. The new way is more intuitive. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-02 22:56:01 +0100 Antonio Ospite + + * tools/gst-launch.1.in: + tools: don't start lines with single quotes in man page + When a line starts with a single quote it's treated in a special way by + man, which may result in paragraphs of the man page not rendered by the + man pager, so just avoid that. + A possible solution could have been to escape the singe quote with + a \(cq sequence but this is rather unreadable, instead the text has been + reformatted to have the problematic quoted 'ppc' string on the previous + line. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-02 22:36:27 +0100 Antonio Ospite + + * tools/gst-inspect.1.in: + * tools/gst-launch.1.in: + * tools/gst-typefind.1.in: + tools: escape dashes in the man pages + The portable way to have the dashes to be rendered as ASCII minuses is + to use the sequence backslash-dash, use this style at least for text + that can be copied and pasted (e.g. command names, file names, element + options). + Also use backslash-dash in the NAME section as suggested by lexgrog(1). + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-11 04:42:30 +0530 Nirbheek Chauhan + + * libs/gst/net/meson.build: + meson: Fir dependencies of gstnet-1.0 + It depends on gst_base_dep which will pull in gst_dep + +2016-11-11 04:41:39 +0530 Nirbheek Chauhan + + * libs/gst/base/meson.build: + meson: Add GstBase-1.0.gir to gst_base_dep + Without this, GIR generators can't find and use it + +2016-11-10 13:42:46 +0000 Tim-Philipp Müller + + * libs/gst/base/gstbaseparse.c: + * win32/common/libgstbase.def: + baseparse: add since marker for new API to docs and fix win32 .def file + +2016-11-10 12:47:37 +0000 Vincent Penquerc'h + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gstbaseparse.c: + * libs/gst/base/gstbaseparse.h: + * win32/common/libgstbase.def: + baseparse: expose gst_base_parse_drain + +2016-11-09 14:07:28 -0300 Thibault Saunier + + * libs/gst/base/meson.build: + * libs/gst/controller/meson.build: + * libs/gst/net/meson.build: + meson: Advertise dependency on gst_dep generating girs + And do not simply link to libgst as the gir information + location only exist in declare_dependecy + https://bugzilla.gnome.org/show_bug.cgi?id=774044 + +2016-11-08 17:09:53 +0100 Victor Toso + + * tests/misc/netclock-replay.c: + tests: Fix compile warning on mingw64 + In file included from ../../libs/gst/net/gstntppacket.c:35:0, + from netclock-replay.c:25: + ../../config.h:546:0: error: "__MSVCRT_VERSION__" redefined [-Werror] + #define __MSVCRT_VERSION__ 0x0601 + In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/crtdefs.h:10:0, + from /usr/x86_64-w64-mingw32/sys-root/mingw/include/stdio.h:9, + from netclock-replay.c:21: + /usr/x86_64-w64-mingw32/sys-root/mingw/include/_mingw.h:220:0: note: + this is the location of the previous definition + # define __MSVCRT_VERSION__ 0x0700 + https://bugzilla.gnome.org/show_bug.cgi?id=774108 + +2016-11-09 11:37:09 +0200 Sebastian Dröge + + * plugins/elements/gstfunnel.c: + funnel: Make sure to only lock the stream lock once + We also only unlock it once, and otherwise have it locked forever from + this thread, causing deadlocks on shutdown later. + +2016-11-08 16:58:53 +0100 Victor Toso + + * gst/gstpoll.c: + pool: Fix compiler warning on mingw64 + gstpoll.c: In function 'release_event': + gstpoll.c:239:3: error: suggest parentheses around assignment used as + truth value [-Werror=parentheses] + if (status = WaitForSingleObject (set->wakeup_event, INFINITE)) { + ^~ + https://bugzilla.gnome.org/show_bug.cgi?id=774108 + +2016-11-04 21:15:58 +0000 Tim-Philipp Müller + + * win32/common/libgstreamer.def: + win32: update .def for new API + +2016-11-04 10:19:17 -0300 Thibault Saunier + + * meson.build: + meson: Unset the plugin paths to generate the .gir files + Avoiding problems when using subproject: + Failed to load plugin 'something.so: file too short + +2016-10-10 16:40:21 +0200 Thibault Saunier + + * gst/gstinfo.c: + debug: Remove the Gst only based stack trace printing implementation + We now have 2 other implementations that should work better. + https://bugzilla.gnome.org/show_bug.cgi?id=772555 + +2016-10-07 12:02:44 +0200 Thibault Saunier + + * plugins/tracers/Makefile.am: + * plugins/tracers/gstleaks.c: + * plugins/tracers/meson.build: + tracers: leaks: Use the new gst_debug_get_stack_trace + And remove the local implementation of it. + https://bugzilla.gnome.org/show_bug.cgi?id=772555 + +2016-10-07 11:38:27 +0200 Thibault Saunier + + * config.h.meson: + * configure.ac: + * docs/gst/gstreamer-sections.txt: + * gst/Makefile.am: + * gst/gstinfo.c: + * gst/gstinfo.h: + * gst/meson.build: + * meson.build: + * plugins/tracers/meson.build: + gst: Use libunwind/libdw to generate backtraces if avalaible + Making the gst_debug_print_trace function more generally useful. + API: + + gst_debug_get_trace + https://bugzilla.gnome.org/show_bug.cgi?id=772555 + +2016-11-02 13:57:51 +0100 Antonio Ospite + + * tools/gst-launch.c: + tools: gst-launch: fix minor memory leak when failing to parse options + Commit 215cfcf99338 (gstreamer: Fix memory leaks when context parse + fails) fixes some memory leak, but in one of the newly added calls to + g_clear_error() the wrong variable was passed. + When failing to parse command line options, free the "err" variable, not + the "error" one. + https://bugzilla.gnome.org/show_bug.cgi?id=773907 + +2016-11-03 15:22:34 -0400 Nicolas Dufresne + + * libs/gst/base/gstbasesink.c: + basesink: Make sure we never drop the preroll buffer + This is cosmetic as 'late' should never be set during preroll (in pause). + Though code may evolve in the future, so this is good for preventing + potential bugs. + https://bugzilla.gnome.org/show_bug.cgi?id=772468 + +2016-10-05 14:26:11 -0400 Nicolas Dufresne + + * libs/gst/base/gstbasesink.c: + basesink: Don't nest prepare/render calls + When the first buffer arrives, we endup calling: + ->prepare() + ->prepare() + ->preroll() + ->render() + This will likely confuse any element using this method. With this patch, + we ensure the preroll take place before the first render prepare() is + called. This will result in: + ->prepare() + ->preroll() + ->prepare() + ->render() + https://bugzilla.gnome.org/show_bug.cgi?id=772468 + +2016-11-02 16:27:58 +0000 Luis de Bethencourt + + * libs/gst/base/gstbasesink.c: + basesink: fix typo in documentation + Small typo in the documentatin of gst_base_sink_set_drop_out_of_segment(). + Fixing it. + +2016-11-02 16:35:59 +0200 Sebastian Dröge + + * libs/gst/base/gstbasesink.c: + * libs/gst/base/gstbasesink.h: + basesink: Fix gst_base_sink_set_drop_out_of_segment() documentation + Also silences a GI warning. + +2016-11-02 14:11:43 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/clock_gettime.c: + clock_gettime.c: Use __APPLE__ instead of __MACH__ + Hurd also defines __MACH__, but it does not have mach_absolute_time. Use + the more strict __APPLE__ instead. + Has also been sent upstream: https://github.com/libcheck/check/pull/65 + +2016-11-02 14:01:38 +0530 Nirbheek Chauhan + + * m4/check-checks.m4: + build: Fix AM_CONDITIONAL check for clock_gettime + It was always evaluating to false, so clock_gettime.c was always being + included into libcheck. This breaks building on Hurd and causes us to + always override clock_gettime() even when it is available. + https://bugzilla.gnome.org/show_bug.cgi?id=773813 + +2016-11-02 10:12:58 +0200 Sebastian Dröge + + * gst/meson.build: + gst: Also include the gstdynamictypefactory.c source file in the build + +2016-11-02 10:04:01 +0200 Sebastian Dröge + + * gst/Makefile.am: + * gst/meson.build: + gst: Install gstdynamictypefactory.h header file + +2016-11-02 09:35:05 +0200 Sebastian Dröge + + * libs/gst/base/gstbaseparse.c: + Revert "baseparse: fix draining with less data than min frame size available" + This reverts commit 2e278aeb7128e8732f5324ab8c8b22a47950c80a. + Some parsers, specifically audio parsers, assume to get all remaining + data on EOS and just pass them onwards. While the idea here is correct, + we will probably need a property for this on baseparse for parsers to + opt-in. + https://bugzilla.gnome.org/show_bug.cgi?id=773666 + +2015-06-26 03:29:27 +1000 Jan Schmidt + + * gst/parse/grammar.y: + * gst/parse/parse.l: + * gst/parse/types.h: + * tests/check/pipelines/parse-launch.c: + * tools/gst-launch.1.in: + parse-launch: Support linking all pads with new operator + Introduce a new operator ':' - e.g. element1 ':' element2 + For example, 'uridecodebin : encodebin' - + if the encodebin has multiple profiles compatible with the + decodebin, multiple links will be created. + With '!' , after one delayed link is successfully done, the + pad-added callback is disconnected. + https://bugzilla.gnome.org/show_bug.cgi?id=751450 + +2016-11-02 11:32:42 +1100 Jan Schmidt + + * libs/gst/base/gstbasesink.c: + * win32/common/libgstbase.def: + Add new basesink API to exports and Since markers + Add Since markers to the new basesink API to drop + out-of-segment buffers, and add them to the + win32 exports + +2015-05-14 00:25:21 +1000 Jan Schmidt + + * gst/Makefile.am: + * gst/gst.h: + * gst/gst_private.h: + * gst/gstdynamictypefactory.c: + * gst/gstdynamictypefactory.h: + * gst/gstelementfactory.h: + * gst/gstregistrybinary.c: + * gst/gstregistrychunks.c: + * gst/gstregistrychunks.h: + * gst/gststructure.c: + * gst/gstvalue.c: + * win32/common/libgstreamer.def: + dynamic types: Implement dynamic types in the registry + Implement GstDynamicTypeFactory as a new registry feature. + GstDynamicTypeFactory provides a way of registering a GType + into the registry, such that it will be registered as a dynamic + type when the registry is loaded, and then automatically loaded + if the type is needed during caps parsing. + This allows using non-core types in pad templates, by loading a + registry feature to create the GType on the fly. + https://bugzilla.gnome.org/show_bug.cgi?id=750079 + +2016-04-29 02:38:49 +1000 Jan Schmidt + + * libs/gst/base/gstbasesink.c: + * libs/gst/base/gstbasesink.h: + * plugins/elements/gstfakesink.c: + fakesink: Add property to not drop out-of-segment buffers + Implement handling in basesink to not unconditionally discard + out-of-segment buffers and expose it as a new property on fakesink + (not unconditionally in all basesink based sinks). + The property defaults to FALSE. + https://bugzilla.gnome.org/show_bug.cgi?id=765734 + +2016-11-01 23:54:05 +0200 Sebastian Dröge + + * gst/gstvalue.c: + value: Update GstValue table size for GValueArray + +2016-07-07 19:41:49 +0300 Sebastian Dröge + + * plugins/elements/gstfunnel.c: + funnel: Always push all sticky events whenever we forward a serialized event + Otherwise downstream will have an inconsistent set of sticky events at this + point, e.g. when a TAG event is pushed and downstream wants to relate it to + the stream by looking at the current STREAM_START event. + https://bugzilla.gnome.org/show_bug.cgi?id=768526 + +2016-03-29 10:38:05 +0300 Sebastian Dröge + + * plugins/elements/gsttee.c: + tee: Set GST_PAD_FLAG_PROXY_CAPS before forwarding sticky events + https://bugzilla.gnome.org/show_bug.cgi?id=752213 + +2016-10-29 11:17:38 +0100 Tim-Philipp Müller + + * libs/gst/base/gstbaseparse.c: + baseparse: fix draining with less data than min frame size available + baseparse would pass whatever is left in the adapter to the + subclass when draining, even if it's less than the minimum + frame size required. This is bogus, baseparse should just + discard that data then. The original intention of that code + seems to have been that if we have more data available than + the minimum required we should pass all of the data available + and not just the minimum required, which does make sense, so + we'll continue to do that in the case that more data is available. + Fixes assertions in rawvideoparse on EOS after not-negotiated with + fakesrc sizetype=random ! queue ! rawvideoparse format=rgb ! appsink caps=video/x-raw,format=I420 + https://bugzilla.gnome.org/show_bug.cgi?id=773666 + +2015-10-29 22:51:18 +0100 Stian Selnes + + * gst/gstinfo.c: + info: Replace %p and %r in GST_DEBUG_FILE + It's useful to be able to set a name pattern for GST_DEBUG_FILE so that + the same environment variable can be used for multiple processes and + still write to different files. Especially useful if these processes + run simultaneously. + %p: Replaced with PID + %r: Replaced with random number + %p is obviously useful. %r is useful when for instance running two + processes with same PID but in different containers. + https://bugzilla.gnome.org/show_bug.cgi?id=773092 + +2013-05-02 10:09:29 +0200 Stian Selnes + + * gst/gst.c: + * gst/gstregistry.c: + registry: set env GST_REGISTRY_DISABLE=yes to disable registry + If GST_REGISTRY_DISABLE=yes the registry is disabled similar to + compile time switch GST_DISABLE_REGISTRY. + https://bugzilla.gnome.org/show_bug.cgi?id=773089 + +2015-11-11 16:43:40 +0100 Stian Selnes + + * gst/gstvalue.c: + gstvalue: Make GValueArray serializable + For instance very useful for logging GValueArray with GST_PTR_FORMAT + https://bugzilla.gnome.org/show_bug.cgi?id=761918 + +2016-04-29 16:26:49 +0900 Wonchul Lee + + * gst/gstelement.c: + * gst/gstpadtemplate.c: + * tests/check/gst/gstelement.c: + * tests/check/gst/gstpad.c: + element: Allow multiple conversion specifiers for request pads + This allows pad template names like "src_%u_%u", but it does not allow + multiple specifiers of string type %s as that would lead to ambiguities. + https://bugzilla.gnome.org/show_bug.cgi?id=761225 + +2015-11-05 17:13:25 -0300 Thiago Santos + + * gst/gstpad.c: + * gst/gstpad.h: + pad: add no-reconfigure link check + Enable it to prevent sending reconfigure when linking elements. + Useful for autoplugging when we know caps or bufferpools shouldn't change + to save doing caps renegotiation to end up with the same final scenario. + The no-reconfigure is not a proper check, it is a flag. It is implemented + as a GstPadLinkCheck to avoid creating another gst_pad_link variant. + https://bugzilla.gnome.org/show_bug.cgi?id=757653 + +2016-11-01 18:08:18 +0000 Tim-Philipp Müller + + * meson.build: + meson: update version + +2016-11-01 17:35:18 +0000 Tim-Philipp Müller + + * configure.ac: + * docs/Makefile.am: + * docs/manual/.gitignore: + * docs/manual/Makefile.am: + * docs/manual/README: + * docs/manual/advanced-autoplugging.xml: + * docs/manual/advanced-buffering.xml: + * docs/manual/advanced-clocks.xml: + * docs/manual/advanced-dataaccess.xml: + * docs/manual/advanced-dparams.xml: + * docs/manual/advanced-interfaces.xml: + * docs/manual/advanced-metadata.xml: + * docs/manual/advanced-position.xml: + * docs/manual/advanced-threads.xml: + * docs/manual/appendix-checklist.xml: + * docs/manual/appendix-compiling.xml: + * docs/manual/appendix-integration.xml: + * docs/manual/appendix-licensing.xml: + * docs/manual/appendix-porting.xml: + * docs/manual/appendix-programs.xml: + * docs/manual/appendix-quotes.xml: + * docs/manual/base.css: + * docs/manual/basics-bins.xml: + * docs/manual/basics-bus.xml: + * docs/manual/basics-data.xml: + * docs/manual/basics-elements.xml: + * docs/manual/basics-helloworld.xml: + * docs/manual/basics-init.xml: + * docs/manual/basics-pads.xml: + * docs/manual/basics-plugins.xml: + * docs/manual/bin-element-ghost.png: + * docs/manual/bin-element-noghost.png: + * docs/manual/bin-element.png: + * docs/manual/clocks.png: + * docs/manual/communication.png: + * docs/manual/diagrams-clocks.svg: + * docs/manual/diagrams-general.svg: + * docs/manual/diagrams-pipelines.svg: + * docs/manual/filter-element-multi.png: + * docs/manual/filter-element.png: + * docs/manual/gstreamer-overview.png: + * docs/manual/hello-world.png: + * docs/manual/highlevel-playback.xml: + * docs/manual/highlevel-xml.xml: + * docs/manual/images/.gitignore: + * docs/manual/intro-basics.xml: + * docs/manual/intro-gstreamer.xml: + * docs/manual/intro-motivation.xml: + * docs/manual/intro-preface.xml: + * docs/manual/linked-elements.png: + * docs/manual/manual.xml: + * docs/manual/mime-world.png: + * docs/manual/outline.txt: + * docs/manual/simple-player.png: + * docs/manual/sink-element.png: + * docs/manual/src-element.png: + * docs/manual/state-diagram.svg: + * docs/manual/thread-buffering.png: + * docs/manual/thread-synchronizing.png: + * docs/manual/titlepage.xml: + * docs/pwg/.gitignore: + * docs/pwg/Makefile.am: + * docs/pwg/advanced-allocation.xml: + * docs/pwg/advanced-clock.xml: + * docs/pwg/advanced-dparams.xml: + * docs/pwg/advanced-events.xml: + * docs/pwg/advanced-interfaces.xml: + * docs/pwg/advanced-negotiation.xml: + * docs/pwg/advanced-qos.xml: + * docs/pwg/advanced-request.xml: + * docs/pwg/advanced-scheduling.xml: + * docs/pwg/advanced-tagging.xml: + * docs/pwg/advanced-types.xml: + * docs/pwg/appendix-checklist.xml: + * docs/pwg/appendix-licensing.xml: + * docs/pwg/appendix-porting.xml: + * docs/pwg/appendix-python.xml: + * docs/pwg/base.css: + * docs/pwg/building-boiler.xml: + * docs/pwg/building-chainfn.xml: + * docs/pwg/building-eventfn.xml: + * docs/pwg/building-pads.xml: + * docs/pwg/building-props.xml: + * docs/pwg/building-queryfn.xml: + * docs/pwg/building-signals.xml: + * docs/pwg/building-state.xml: + * docs/pwg/building-testapp.xml: + * docs/pwg/intro-basics.xml: + * docs/pwg/intro-preface.xml: + * docs/pwg/other-base.xml: + * docs/pwg/other-manager.xml: + * docs/pwg/other-ntoone.xml: + * docs/pwg/other-oneton.xml: + * docs/pwg/other-sink.xml: + * docs/pwg/other-source.xml: + * docs/pwg/pwg.xml: + * docs/pwg/titlepage.xml: + * tests/examples/Makefile.am: + * tests/examples/manual/.gitignore: + * tests/examples/manual/Makefile.am: + * tests/examples/manual/extract.pl: + docs: remove app dev manual and plugin writer's guide + They have moved to gst-docs and will be maintained there in future. + +=== release 1.11.0 === + +2016-11-01 18:53:15 +0200 Sebastian Dröge + + * configure.ac: + Back to development + === release 1.10.0 === -2016-11-01 Sebastian Dröge +2016-11-01 17:50:24 +0200 Sebastian Dröge + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - releasing 1.10.0 + * docs/plugins/inspect/plugin-coreelements.xml: + * gstreamer.doap: + * win32/common/config.h: + * win32/common/gstenumtypes.c: + * win32/common/gstversion.h: + Release 1.10.0 + +2016-11-01 17:40:11 +0200 Sebastian Dröge + + * po/nb.po: + Update .po files 2016-11-01 17:38:43 +0200 Sebastian Dröge @@ -2824,6 +10974,12 @@ This makes it possible to examine what values we get in logs, and potentially tune our filtering/extrapolation in various scenarios. +2016-03-04 15:50:26 +0900 Vineeth TM + + * plugins/elements/gstdataurisrc.c: + bad: use new gst_element_class_add_static_pad_template() + https://bugzilla.gnome.org/show_bug.cgi?id=763081 + 2016-03-16 15:13:39 +0100 Havard Graff * plugins/elements/gstvalve.c: @@ -3406,6 +11562,15 @@ Only do memory operations if the memory was succesfully map'ed https://bugzilla.gnome.org/show_bug.cgi?id=728326 +2016-02-23 18:17:42 +0200 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps() + Remove calls to gst_pad_has_current_caps() which then go on to call + gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just + use gst_pad_get_current_caps() and check for NULL. + https://bugzilla.gnome.org/show_bug.cgi?id=759539 + 2015-12-10 15:32:27 +0100 Adam Miartus * gst/gsttaglist.c: @@ -4901,6 +13066,15 @@ * docs/plugins/inspect/plugin-coreelements.xml: docs: update to git +2015-12-14 11:09:46 +0900 Vineeth TM + + * plugins/elements/gstdataurisrc.c: + plugins-bad: Fix example pipelines + rename gst-launch --> gst-launch-1.0 + replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**) + fix caps in examples + https://bugzilla.gnome.org/show_bug.cgi?id=759432 + 2015-11-10 12:38:59 -0500 Xavier Claessens * gst/gstallocator.h: @@ -5415,6 +13589,13 @@ contained in tags, such as ID3v2 PRIV frames. https://bugzilla.gnome.org/show_bug.cgi?id=730926 +2015-11-19 17:24:53 +0000 Luis de Bethencourt + + * plugins/elements/gstdataurisrc.c: + * tests/check/elements/dataurisrc.c: + docs: update gst-launch-0.10 lines + Update references to gst-launch-0.10 to gst-launch-1.0 + 2015-11-19 00:51:44 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: @@ -13358,6 +21539,24 @@ * libs/gst/base/gstbaseparse.h: baseparse: minor docs fix +2014-09-07 01:30:16 -0300 Thiago Santos + + * plugins/elements/gstdataurisrc.c: + Revert "dataurisrc: Remove unnecessary else if condition" + This reverts commit 3024ae9c38490817a76c83feab3c8472989cafad. + The *buf can be NULL or not depending if the caller of gst_pad_get_range + function provided or not a buffer. + +2014-09-04 13:38:21 +0530 Vineeth T M + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Remove unnecessary else if condition + In gst_data_uri_src_create(), buf cannot be NULL, hence + else if (*buf != NULL) will be invalid so removing the + else if condition and adding a check to unreference buf + in else condition, just in case + https://bugzilla.gnome.org/show_bug.cgi?id=735861 + 2014-09-03 17:38:16 +0100 Tim-Philipp Müller * gst/gstdevicemonitor.c: @@ -13392,6 +21591,12 @@ Fixes tests/icles/output-selector-test https://bugzilla.gnome.org/show_bug.cgi?id=729811 +2014-09-02 12:11:44 +0530 Vineeth T M + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Make get_uri() threadsafe + https://bugzilla.gnome.org/show_bug.cgi?id=735861 + 2014-08-28 17:24:56 +0200 Guillaume Desmottes * docs/manual/advanced-dataaccess.xml: @@ -14198,6 +22403,12 @@ sparsefile: Initialize memory in unit test to make valgrind happy We were writing unitialized stack memory to the file. +2014-06-28 09:35:21 -0300 Thiago Santos + + * plugins/elements/gstdataurisrc.c: + dataurisrc: fix leak as gst_buffer_replace adds its own ref + So unref the buffer after that otherwise it leaks + === release 1.3.90 === 2014-06-28 10:45:18 +0200 Sebastian Dröge @@ -23888,6 +32099,14 @@ * plugins/elements/gstelements.c: elements: fix leading space in plugin description string +2012-11-03 20:38:00 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + * plugins/elements/gstdataurisrc.h: + * tests/check/elements/dataurisrc.c: + Fix FSF address + https://bugzilla.gnome.org/show_bug.cgi?id=687520 + 2012-11-03 20:44:48 +0000 Tim-Philipp Müller * COPYING: @@ -24483,6 +32702,13 @@ passing argument 1 of 'g_mutex_lock' discards 'const' qualifier from pointer target type passing argument 1 of 'g_mutex_unlock' discards 'const' qualifier from pointer target type +2012-10-17 17:34:26 +0100 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + Use gst_element_class_set_static_metadata() + where possible. Avoids some string copies. Also re-indent + some stuff. Also some indent fixes here and there. + 2012-10-17 16:49:19 +0100 Tim-Philipp Müller * gst/gstbin.c: @@ -24645,6 +32871,11 @@ manual: talk about playsink Talk about playsink and give an example of its usage. +2012-10-10 14:11:43 +0200 Wim Taymans + + * tests/check/elements/dataurisrc.c: + replace some playbin2 -> playbin + 2012-10-10 13:08:31 +0200 Wim Taymans * docs/manual/advanced-autoplugging.xml: @@ -25579,6 +33810,11 @@ * docs/manual/basics-bus.xml: replace gst_tag_list_free with gst_tag_list_unref +2012-09-14 17:08:49 +0200 Mark Nauwelaerts + + * plugins/elements/gstdataurisrc.c: + replace gst_element_class_set_details_simple with gst_element_class_set_metadata + 2012-09-14 17:00:23 +0200 Mark Nauwelaerts * tests/check/gst/gstcontroller.c: @@ -27518,6 +35754,11 @@ * gst/gstminiobject.c: miniobject: fix exclusive lock/unlock race +2012-07-10 00:59:40 +0100 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: copy into provided buffer if a buffer is provided + 2012-07-09 21:51:07 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: @@ -31156,6 +39397,11 @@ Automatic update of common submodule From 7fda524 to 464fe15 +2012-04-05 18:02:56 +0200 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + gst: Update for GST_PLUGIN_DEFINE() API changes + 2012-04-05 14:17:16 +0200 Sebastian Dröge * docs/pwg/building-boiler.xml: @@ -33253,6 +41499,12 @@ location available for reading if all of the writers with lower locations have finished. +2012-02-24 12:53:52 +0100 Wim Taymans + + * plugins/elements/gstdataurisrc.c: + * tests/check/elements/dataurisrc.c: + dataurisrc: fix docs and unit test + 2012-02-24 12:51:24 +0100 Wim Taymans * gst/gstatomicqueue.c: @@ -35571,6 +43823,11 @@ Only reserve 6 extra flags instead of 10 so that more media specific flags are available. +2012-01-03 15:26:54 +0100 Wim Taymans + + * plugins/elements/gstdataurisrc.c: + GST_FLOW_UNEXPECTED -> GST_FLOW_EOS + 2012-01-03 15:25:31 +0100 Wim Taymans * gst/gstcompat.h: @@ -36974,6 +45231,10 @@ * plugins/elements/gstqueue.c: queue: source and sink pads proxy caps +2011-11-28 23:20:32 +0000 Tim-Philipp Müller + + Merge commit '7521b597f4dc49d8d168f368f0e7ebaf98a72156' into 0.11 + 2011-11-28 21:15:31 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 @@ -37040,6 +45301,12 @@ without having to complicate the calling code. https://bugzilla.gnome.org/show_bug.cgi?id=662664 +2011-11-28 13:08:27 +0000 Vincent Penquerc'h + + * plugins/elements/gstdataurisrc.c: + various: fix pad template ref leaks + https://bugzilla.gnome.org/show_bug.cgi?id=662664 + 2011-11-28 13:54:43 +0100 Wim Taymans * gst/gstpad.c: @@ -37865,6 +46132,11 @@ Make that implizit with attaching/detaching controlsources. This is a lot easier and has less invalid state (controlled property without control source). +2011-11-13 23:55:56 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + Update for GstURIHandler get_protocols() changes + 2011-11-13 23:25:23 +0000 Tim-Philipp Müller * plugins/elements/gstfdsink.c: @@ -39159,6 +47431,11 @@ * gst/gstbuffer.h: buffer: improve docs +2011-10-28 15:16:43 +0200 Wim Taymans + + * plugins/elements/gstdataurisrc.c: + make elements compile again + 2011-10-28 13:02:26 +0200 Sebastian Dröge * libs/gst/base/gstbytewriter.h: @@ -40105,6 +48382,11 @@ * gst/gstbuffer.c: buffer: improve docs +2011-10-04 18:38:50 +0200 Wim Taymans + + * plugins/elements/gstdataurisrc.c: + dataurisrc: port to 0.11 + 2011-10-04 17:39:17 +0200 Wim Taymans Merge branch 'master' into 0.11 @@ -51064,6 +59346,11 @@ docs: fix typo Signed-off-by: Zhang Wanming +2010-12-30 18:02:06 -0800 David Schleef + + * plugins/elements/gstdataurisrc.c: + dataurisrc: use g_ascii_strcasecmp() + 2010-12-31 01:09:40 +0000 Tim-Philipp Müller * tests/icles/output-selector-test.c: @@ -58198,6 +66485,12 @@ * gst/gettext.h: gettext: build fixes: #if -> #ifdef +2010-03-22 13:16:33 +0100 Benjamin Otte + + * plugins/elements/gstdataurisrc.c: + Add -Wwrite-strings + and fix its warnings + 2010-03-18 10:22:09 +0200 Stefan Kost * gst/gstbin.c: @@ -59371,6 +67664,12 @@ * libs/gst/check/gstcheck.c: docs: fix gtk-doc chunk for gst_check_element_push_buffer_list() +2010-02-13 15:28:39 +0000 Tim-Philipp Müller + + * tests/check/elements/dataurisrc.c: + tests: add unit test for dataurisrc + Requires fixes from core git, so bump core requirement to git as well. + 2010-02-15 00:31:16 +0000 Tim-Philipp Müller * po/af.po: @@ -59733,6 +68032,25 @@ parent bin. Fixes #607842 +2010-01-28 00:07:14 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: add start function so we can error out properly if no uri is set + Also save a set URI after it has been parsed successfully, so that _get_uri() + actually works. + +2010-01-27 23:46:32 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: don't post error message when setting the URI failed + There's a gboolean return for that, and the messages don't really + add anything useful. + +2010-01-27 23:39:14 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: must release the object lock before using GST_ELEMENT_ERROR + 2010-01-26 18:59:50 +0000 Tim-Philipp Müller * configure.ac: @@ -59820,6 +68138,26 @@ application development manual. Fixes #608127 +2010-01-25 12:12:32 +0100 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Remove role attribute from links + +2010-01-25 11:56:33 +0100 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Add docs and integrate into build system + Fixes again bug #596885. + +2010-01-25 11:12:47 +0100 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + * plugins/elements/gstdataurisrc.h: + dataurisrc: Add data: URI source element + This is slightly based on the WebKit data: URI source + but supports more parts of RFC 2397. + Fixes bug #596885. + 2010-01-24 23:12:22 +0200 Stefan Kost * win32/common/libgstreamer.def: