X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ChangeLog;h=80f68574bcc8e07eb39ecd0a869f057c4a69174a;hb=0c6f5b3e4c3dc55e684bca1e3fc9a2a9b74407b9;hp=b4e6dc823131705ee382e540320700ad8dbef0dd;hpb=bc431c2af309ed78881da7e07011be7f3152db0a;p=platform%2Fupstream%2Fgstreamer.git diff --git a/ChangeLog b/ChangeLog index b4e6dc8..80f6857 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,3950 @@ +=== release 1.16.1 === + +2019-09-23 11:01:50 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gstreamer.doap: + * meson.build: + Release 1.16.1 + +2019-09-23 11:01:50 +0100 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + Update docs + +2019-09-23 11:01:47 +0100 Tim-Philipp Müller + + * po/bg.po: + * po/de.po: + * po/fr.po: + * po/hr.po: + * po/nb.po: + * po/tr.po: + Update translations + +2019-09-12 10:09:18 +0300 Sebastian Dröge + + * gst/gstelementfactory.c: + element: Enforce that elements created by gst_element_factory_create/make() are floating + Bindings might have a hard time making sure that the reference is indeed + still floating after returning here. + See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444 + +2019-09-12 10:08:39 +0300 Sebastian Dröge + + * gst/gstdevice.c: + device: Enforce that elements created by gst_device_create_element() are floating + Bindings might have a hard time making sure that the reference is indeed + still floating after returning here. + See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444 + +2019-09-12 10:03:08 +0300 Sebastian Dröge + + * gst/gstdevice.c: + device: gst_device_create_element() is `transfer floating`, not `transfer full` + Fixing the annotation fixes leaking of the created element in all + bindings using GObject-Introspection. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444 + +2019-09-07 12:32:40 +0100 Jim Mason + + * plugins/elements/gstelements_private.c: + consolidated IOV_MAX/UIO_MAXIOV handling per GLib + legacy behaviour for osx/ios + +2019-09-06 19:23:01 +0100 Jim Mason + + * plugins/elements/gstelements_private.c: + gst_writev: respect IOV_MAX for the writev iovec array #439 + +2019-09-03 10:38:13 +0200 David Svensson Fors + + * gst/gstminiobject.c: + miniobject: free qdata array when the last qdata is removed + In cases with many long-lived buffers that have qdata only very + briefly, the memory overhead of keeping an array of 16 GstQData + structs for each buffer can be significant. We free the array when + the last qdata is removed, like it was done in 1.14. + Fixes #436 + +2019-09-03 13:44:24 -0400 Nicolas Dufresne + + * gst/gstbin.c: + bin: Fix minor race when adding to a bin + This patch simply add a null check around a case where a child may have + been unparented concurrently to the deep_add_remove operation. This was + found by accident in the form of an "IS_GST_OBJECT" assertion, but had + no other known side effect in that test. + +2019-08-15 12:56:06 +0100 Tim-Philipp Müller + + * libs/gst/check/meson.build: + meson: fix warning about configure_file() install kwarg + The install kwarg on configure_file() was only added in + Meson 0.50 but we're targetting older versions as well, + which caused a warning. The install kwarg is not needed + here as we specify install_dir, so we can just drop it. + Fixes #379 + +2019-08-14 09:51:55 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Actually handle NEED_DATA return from update_src_caps() + The documentation says that this allows the subclass to signal that it + needs more data before it can decide on caps, so let's actually + implement it that way. + +2019-08-13 19:57:08 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Assert if the sink/src pad type that is to be used is not a GstAggregatorPad or subclass thereof + +2019-08-13 19:55:59 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Ensure that the source pad is created as a GstAggregatorPad if no type is given in the pad template + Otherwise we would create a GstPad and that causes invalid memory + accesses later. + +2019-08-06 10:09:22 +0530 Guillaume Desmottes + + * plugins/tracers/gstlatency.c: + latency: fix custom event leaks + If the element before the sink needs $n buffers to produce one output + buffer, we were reffing $n events and unreffing only one. + Prevent this by using g_object_set_qdata_full() to handle the event + unreffing so we're sure no ref will be lost. + +2019-08-02 13:07:58 +0530 Guillaume Desmottes + + * plugins/tracers/gstlatency.c: + * plugins/tracers/gstrusage.c: + * plugins/tracers/gststats.c: + tracers: set MAY_BE_LEAKED on tracer records + The records are static and so appear as false positives when using those + tracers with the leaks tracer as well. + The leaks tracer was already setting this flag on its record so let's + set it on the other ones as well. + +2019-06-20 16:42:01 +0530 Guillaume Desmottes + + * plugins/tracers/gstlatency.c: + latency: display event pointer in logs + This is quite useful for debugging when tracer is reporting the wrong + latency because of an element breaking the events/buffers ordering. + +2019-07-22 15:06:20 +0000 Alicia Boya García + + * plugins/elements/gstdownloadbuffer.c: + downloadbuffer: Check for flush after seek + In gst_download_buffer_wait_for_data(), when a seek is made with + perform_seek_to_offset() the `qlock` is released temporarily. Therefore, + the flushing condition can be set during this period and should be + checked. + This was not being checked before, causing occasional deadlocks when + GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() was called. + GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() assumes that the caller has already + checked that we're not flushing before, since this is done when + acquiring the lock; so if we release it temporarily somewhere, we need + to check for flush again. + Without that check, the function would keep waiting for the condition + variable to be notified before checking for flushing condition again, + and that may very well never happen. This was reproduced when during pad + deactivation when running WebKit in gdb. + +2019-08-08 13:49:07 +0300 Sebastian Dröge + + * configure.ac: + * gst/gstregistry.c: + * meson.build: + registry: Use plugin directory from the build system for relocateable Windows builds + Instead of guessing something based on preprocessor defines and magic. + +2019-08-06 00:05:22 +0100 Tim-Philipp Müller + + * gst/gstmessage.h: + message: fix up enum value for GST_MESSAGE_DEVICE_CHANGED + This was added in 1.16 and accidentally duplicated the value of + the existing GST_MESSAGE_REDIRECT. + As the only known user of this message is GStreamer core itself, + and it is quite an obscure message, it seems best to just fix up + the enum value even if that technically breaks API. + Fixes #418 + +2019-07-30 21:40:47 -0400 Doug Nazar + + * gst/gstinfo.c: + info: Fix deadlock in gst_ring_buffer_logger_log + gst_ring_buffer_logger_log calls several functions while formatting + the message which may in turn log a message while we already hold + the mutex. Do all formatting first before acquiring the mutex to + avoid this and reduce the time we hold the mutex. + +2019-07-19 21:57:09 -0400 Nicolas Dufresne + + * plugins/elements/gstidentity.c: + identity: Non-live upstream have no max latency + sync=TRUE implementation changes the latency query of a non-live + upstream into live, though it wrongly set the upstream max latency to 0. + As non-live sources won't loose data if we wait longer, this should have + been reported as have no max latency limite (-1). + +2019-07-11 17:53:53 +0100 Philippe Normand + + * plugins/elements/gstidentity.c: + identity: Fix the ts-offset property getter + Previous code was a copy/paste from the property setter function. + +2019-07-08 19:09:03 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Make parsing of explicit sink pad names more robust + When passing "sink_%d" twice to aggregator before it would create two + pads called "sink_0", because it failed to parse "%d" as integer and + used 0 instead then. + Instead validate that parsing was actually successful and also don't + even try to parse if the requested pad name contains a '%'. + +2019-06-29 09:22:05 -0400 Nicolas Dufresne + + * gst/gstbufferpool.c: + * tests/check/gst/gstbufferpool.c: + bufferpool: Fix the buffer size reset code + The offset in gst_buffer_resize() is additive. So to move back the + offset to zero, we need to pass the opposite of the current offset. This + was raised through the related unit test failingon 32bit as on 64bit + the alignment padding was enough to hide the issue. The test was + modified to also fail on 64bit. This patch will remove spurious + assertions like: + assertion 'bufmax >= bufoffs + offset + size' failed + Fixes #316 + +2019-06-20 13:49:14 +0530 Guillaume Desmottes + + * plugins/elements/gstelements_private.c: + gstelements_private: sync gst_buffer_get_flags_string() with new flags + +2019-06-19 23:29:24 -0400 Thibault Saunier + + * plugins/elements/gstmultiqueue.c: + multiqueue: never unref queries we do not own + The `query` argument of gst_pad_query is "transfer none". + Query objects are "borrowed" by the pad query handlers and those + should never unref them. + This was leading to double freed queries in a very racy way with nested + GESTimelines. + +2019-06-04 17:55:30 +0300 Sebastian Dröge + + * plugins/elements/gstconcat.c: + concat: Reset last_stop on FLUSH_STOP too + Otherwise when seeking backwards we would keep the last_stop at the last + position we saw until playback passed the seek position again, and if + switching to the next pad happens in the meantime we would set the wrong + offset in the outgoing segment. + +2019-06-04 17:56:30 +0300 Sebastian Dröge + + * plugins/elements/gstconcat.c: + concat: Improve debug output a bit + +2015-07-29 11:48:33 +0100 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: fix flow-return boolean return type mismatch + Not that it matters, since we don't check the return value + anyway. Unclear why the aggregator pad flush function should + have a return value at all really, and perhaps it should be + called reset anyway. Spotted by dv on irc. + +2019-05-13 16:42:04 +0200 Edward Hervey + + * gst/gstpad.c: + * tests/check/gst/gstpad.c: + gstpad: Probes that return HANDLED can reset the data info field + Before GST_PAD_PROBE_HANDLED was introduced, we had to handle the case + where some probes would reset the probe info data field to NULL. This would + be considered an invalid use-case. + But with GST_PAD_PROBE_HANDLED it is totally fine to reset that, since + the probe has "handled" it. + +2019-05-13 13:24:42 +0530 Nirbheek Chauhan + + * gst/meson.build: + meson: Link to objects instea of static helper library + Otherwise the objects from that static helper library are not included + in the gstreamer-1.0 static library. This was supposed to be fixed in + Meson, but the pull request hasn't been merged yet: + https://github.com/mesonbuild/meson/pull/3939 + Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398 + +2019-05-13 14:42:28 +0530 Nirbheek Chauhan + + * gst/meson.build: + meson: Pass -DGST_STATIC_COMPILATION for static builds + This is only needed on Windows when building with MSVC, but it is safe + to pass it everywhere. + Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398 + +2019-05-11 18:21:19 +0200 Michael Olbrich + + * libs/gst/helpers/meson.build: + meson: set correct install path for gdb helper + The original version of the patch used glib-2.0 but that was later changed + to gstreamer-1.0 for autotools. The meson file was forgotten. + Fix the path to match the one used in libgstreamer-gdb.py.in. + +2019-05-08 12:11:50 +0200 Niels De Graef + + * gst/gstpromise.h: + gst: Add support for g_autoptr(GstPromise) + +2019-05-01 15:46:56 +0200 Niklas Hambüchen + + * gst/parse/get_flex_version.py: + Make get_flex_version.py script executable + Like all other scripts in the same dir. + It has a hashbang, so it should be executable. + +2019-04-24 18:22:06 +0200 Andoni Morales Alastruey + + * tools/gst-inspect.c: + gst-inspect: fix unused-const-variable error in windows + ../tools/gst-inspect.c:44:20: error: 'DEFAULT_PAGER' defined but not used [-Werror=unused-const-variable=] + +2019-04-23 17:33:34 +0300 Sebastian Dröge + + * libs/gst/base/base.h: + base: Include gstbitwriter.h in the single-include header + +2019-04-23 18:00:59 +0300 Sebastian Dröge + + * libs/gst/base/gstbitwriter.h: + bitwriter: Fix inclusion of header in C++ code + ../subprojects/gstreamer/libs/gst/base/gstbitwriter.h: In function 'gboolean _gst_bit_writer_check_remaining(GstBitWriter*, guint32)': + ../subprojects/gstreamer/libs/gst/base/gstbitwriter.h:161:31: error: invalid conversion from 'gpointer' {aka 'void*'} to 'guint8*' {aka 'unsigned char*'} [-fpermissive] + bitwriter->data = g_realloc (bitwriter->data, (new_bit_size >> 3)); + ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +2019-04-23 12:31:07 +0300 Sebastian Dröge + + * libs/gst/base/gstbitwriter.h: + bitwriter: Mark the whole type as Since: 1.16 + +2019-04-23 14:39:48 +0300 Sebastian Dröge + + * gst/gstcaps.c: + caps: Add Since: 1.16 marker to gst_caps_copy() + +2019-04-23 14:54:03 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.h: + aggregator: Mark all public structs as Since: 1.14 + +2019-04-23 15:07:08 +0300 Sebastian Dröge + + * libs/gst/base/gstbaseparse.h: + * libs/gst/base/gstbasetransform.h: + * libs/gst/base/gstcollectpads.h: + * libs/gst/controller/gstinterpolationcontrolsource.h: + libs: Fix various Since markers + +2019-04-23 15:08:18 +0300 Sebastian Dröge + + * gst/gstallocator.h: + * gst/gstbin.h: + * gst/gstbuffer.c: + * gst/gstbuffer.h: + * gst/gstbufferpool.h: + * gst/gstclock.h: + * gst/gstelement.h: + * gst/gstelementfactory.h: + * gst/gsterror.h: + * gst/gstevent.h: + * gst/gstmemory.h: + * gst/gstmessage.h: + * gst/gstminiobject.h: + * gst/gstobject.h: + * gst/gstpad.h: + * gst/gstparse.h: + * gst/gstplugin.h: + * gst/gstsegment.h: + * gst/gststructure.c: + * gst/gstsystemclock.h: + gst: Fix various Since markers + +2019-05-02 12:35:17 +0100 Tim-Philipp Müller + + * .gitlab-ci.yml: + ci: use template from 1.16 branch + +=== release 1.16.0 === + +2019-04-19 00:15:21 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * README: + * RELEASE: + * configure.ac: + * gstreamer.doap: + * meson.build: + Release 1.16.0 + +2019-04-19 00:15:21 +0100 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + Update docs + +2019-04-19 00:15:19 +0100 Tim-Philipp Müller + + * po/zh_CN.po: + Update translations + +2019-04-18 10:13:51 +0200 Olivier Crête + + * libs/gst/base/gstbasesrc.c: + basesrc: Downgrade EOS warning + In the case of pushfilesrc, this is the expected behaviour, so let's + downgrade the warning to a debug message to avoid confusing users. + +2019-04-17 20:46:58 +0200 Mathieu Duponchelle + + * tests/check/libs/basesrc.c: + tests: basesrc: unref gst_bus_timed_pop_filtered return + +2019-04-16 13:29:00 +0200 Mathieu Duponchelle + + * gst/gst.c: + * gst/gst_private.h: + * gst/gstinfo.c: + gstinfo: clean up function pointer names hashtable + And add strduped function pointer names to the global quark + table, so that they don't get reported as lost by valgrind. + This allows us to use GST_DEBUG when running tests under + valgrind. + +2019-04-16 23:50:15 +0100 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: fix doc chunk for new buffer-consumed signal + Fixes 'Warning: GstBase: incorrect number of parameters in + comment block, parameter annotations will be ignored.' from + g-ir-scanner. + +2019-04-12 09:23:52 -0400 Julian Bouzas + + * plugins/tracers/gstlatency.c: + tracer: latency: Don't compare element name as element Id is already unique + +2019-04-12 08:38:03 -0400 Julian Bouzas + + * plugins/tracers/gstlatency.c: + tracer: latency: Remove redundant if conditions + +2019-04-12 08:34:49 -0400 Julian Bouzas + + * plugins/tracers/gstlatency.c: + tracer: latency: Make GST_DEBUG logs consistent + +2019-04-12 08:28:22 -0400 Julian Bouzas + + * plugins/tracers/gstlatency.c: + tracer: latency: Fix bug when dropping sub-latency probe event + Fixes #373 + +2019-04-12 16:37:18 +0200 Philipp Zabel + + * gst/gstevent.c: + event: fix seek event creation + Creating seek events segfaults on 32-bit ARM since commit 2fa15d53717c + ('event: add new seek parameter, "trickmode-interval"'), which missed + casting the trickmode-interval initializer in the variable argument list + to guint64. + +2019-04-11 15:32:51 -0400 Xavier Claessens + + * tools/gst-inspect.c: + gst-inspect: Do not print warning if 'less' is missing + +=== release 1.15.90 === + +2019-04-11 00:19:11 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gstreamer.doap: + * meson.build: + Release 1.15.90 + +2019-04-11 00:19:11 +0100 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + Update docs + +2019-04-10 09:17:01 -0400 Julian Bouzas + + * plugins/tracers/gstlatency.c: + tracer: latency: Fix typo bug + +2019-04-10 09:13:53 -0400 Julian Bouzas + + * plugins/tracers/gstlatency.c: + tracer: latency: Fix bug when storing latency probe event + The pad name sotred in the latency event has no longer the name of the element, + so we have to get the element Id, element name and pad name values from the data + structure and compare all 3 values. + +2019-04-10 10:18:54 +0300 Sebastian Dröge + + * gst/gstcontrolbinding.c: + controlbinding: Check if the weak pointer was cleared before explicitly removing it + Otherwise we'll get an assertion if the object behind the weak pointer + was already destroyed in the meantime as we would pass NULL as first + argument to g_object_remove_weak_pointer(). + +2019-04-09 08:05:09 -0400 Julian Bouzas + + * plugins/tracers/gstlatency.c: + * tools/gst-stats.c: + tracer: latency: Show element id, element name and pad name + +2019-03-25 15:36:08 +0100 Julian Bouzas + + * tools/gst-stats.c: + gst-stats: Add element latency support + This will output latency information when parsing a log file with gst-stats that + has latency trace information. It will show the min, max and mean latency for + the pipeline and all its elements. It will also show the reported latency for + each element of the pipeline. Output example: + Latency Statistics: + pulsesrc0_src|fakesink0_sink: mean=190000043 min=190000043 max=190000043 + Element Latency Statistics: + flacparse0_src: mean=45561281 min=654988 max=90467575 + flacenc0_src: mean=89938883 min=81913512 max=97964254 + flacdec0_src: mean=45804881 min=228962 max=91380801 + Element Reported Latency: + pulsesrc0: min=10000000 max=200000000 ts=0:00:00.262846528 + flacenc0: min=104489795 max=104489795 ts=0:00:00.262898616 + flacparse0: min=0 max=0 ts=0:00:00.262927962 + +2019-03-21 10:37:34 +0100 Julian Bouzas + + * plugins/tracers/gstlatency.c: + * plugins/tracers/gstlatency.h: + tracer: latency: Show per-element reported latency + +2019-03-20 12:20:48 +0100 Julian Bouzas + + * plugins/tracers/gstlatency.c: + tracer: latency: Show element's source pad name instead of element's name + The full pad name gives more information than the element's name, which is very + useful when elements have multiple source pads. + +2019-03-18 21:55:50 -0400 Nicolas Dufresne + + * plugins/tracers/gstlatency.c: + latency: Dot not override already stored events + First, the event would be leaved, but also when an element takes + several buffers before producing one, we want the reported latency to be + the aggregation, so the distance from the oldest buffer. + +2018-10-31 16:50:48 -0400 Nicolas Dufresne + + * plugins/tracers/gstlatency.c: + * plugins/tracers/gstlatency.h: + tracer: latency: Add parameter to select latency type + This sets back the default to trace only pipeline latency, and add flags + to enabled element tracing. It is now possible to only trace element + latency, only trace pipeline latency, trace both or none. + +2018-07-06 17:08:24 -0400 Nicolas Dufresne + + * plugins/tracers/gstlatency.c: + tracer: latency: Add per element latency tracer + This adds per element latency tracing. + +2018-07-04 14:18:42 -0400 Nicolas Dufresne + + * plugins/tracers/gstlatency.c: + tracer: Don't pass pads inside GstEvent + This removes the passing of pad inside of a GstEvent. While this is not + a bug, it may affect the live time of the pad, hense change the pipeline + behaviour. + +2018-11-13 21:19:22 +0100 Mathieu Duponchelle + + * libs/gst/base/gstbasesrc.c: + * tests/check/libs/basesrc.c: + basesrc: do not send EOS when automatic_eos is FALSE + +2019-04-01 12:22:49 +0200 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: add buffer-consumed pad signal + The signal will be emitted when a buffer was consumed on + a pad, if the newly-added "emit-signals" property has been + set to TRUE. + Handlers connected to the signal will receive a valid reference on + the consumed buffer, allowing for example the retrieval of metas in + order to forward them once an output buffer is pushed out. + +2019-04-05 11:43:53 +0200 Antonio Ospite + + * tools/gst-inspect.c: + gst-inspect: fix printing the first field of a GstStructure + When printing a GstStructure property (e.g. the "stats" property in + rtpsession) the first field is printed on the same line of the type + description, and this is both inconsistent compared to how Enum values + are printed and confusing as the reader might miss the first field. + To fix this, add a newline before printing GstStructure fields in + properties. + NOTE: this does not change the existing inconsistent behavior of an + extra newline *after* a GstStructure property, but the latter is not as + annoying and it would take more effort to fix because GstStructure + fields are printed in CAPS descriptions too. + +2019-04-01 18:34:07 +0200 Mathieu Duponchelle + + * docs/gst/gstreamer-sections.txt: + * gst/gstevent.c: + * gst/gstevent.h: + * gst/gstquark.c: + * gst/gstquark.h: + * tests/check/gst/gstevent.c: + event: add new seek parameter, "trickmode-interval" + When performing a key unit trickmode seek, it may be useful to + specify a minimum interval between the output frames, either + in very high rate cases, or as a protection against streams + that may contain an overly large amount of key frames. + One use case is ONVIF Section 6.5.3: + + +2019-03-22 17:46:03 +0100 Antonio Ospite + + * tests/check/gstreamer.supp: + tests: add the valgrind suppression file from the "common" module + Other gstreamer repositories have their own valgrind suppression file + directly in the repository. + Add a suppression file to the core gstreamer repository too, this makes + it easier to use it with gst-build which does not check out the common + module. + This is also a little step towards the removal of the common submodule. + NOTE: the added file is the latest version from the "common" repository + but it has been renamed from gst.supp to gstreamer.supp for symmetry + with the suppression files in the other repositories. + +2019-03-23 18:31:42 +0000 Tim-Philipp Müller + + * meson.build: + g-i: pass --quiet to g-ir-scanner + This suppresses the annoying 'g-ir-scanner: link: cc ..' output + that we get even if everything works just fine. + We still get g-ir-scanner warnings and compiler warnings if + we pass this option. + +2019-03-23 18:17:43 +0000 Tim-Philipp Müller + + * libs/gst/check/gstcheck.c: + check: suppress some g-i warnings + gstcheck.c:142: Warning: GstCheck: gst_check_add_log_filter: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip) + gstcheck.h:178: Warning: GstCheck: gst_check_run_suite: argument suite: Unresolved type: 'Suite*' + +2019-03-23 17:53:54 +0000 Tim-Philipp Müller + + * meson.build: + g-i: silence 'nested extern' compiler warnings when building scanner binary + We need a nested extern in our init section for the scanner binary + so we can call gst_init to make sure GStreamer types are initialised + (they are not all lazy init via get_type functions, but some are in + exported variables). There doesn't seem to be any other mechanism to + achieve this, so just remove that warning, it's not important at all. + +2019-03-23 17:53:07 +0000 Tim-Philipp Müller + + * libs/gst/base/gstbitwriter.c: + bitwriter: mark as 'skip' for gobject-introspection + Silences g-ir-scanner warnings. We do the same for ByteWriter. + +2019-03-21 18:55:16 +1100 Matthew Waters + + * libs/gst/base/gstaggregator.c: + aggregator: don't leak gap buffer when out of segment + +2019-03-21 18:47:04 +1100 Matthew Waters + + * libs/gst/base/gstaggregator.c: + aggregator: take the pad lock around queue gap event removal + As is done for every other queue interaction + +2019-03-20 17:43:02 +1100 Matthew Waters + + * libs/gst/base/gstbaseparse.c: + baseparse: don't reset the disable-passthrough property value + Resetting as a result of _reset() on PAUSED->READY is unexpected. + +2019-03-14 11:59:43 +0100 Stephane Cerveau + + * gst/gstelement.c: + gst_element_get_factory: update documentation + Inform about a potential NULL result. + +2019-03-13 18:46:14 +0100 Stephane Cerveau + + * gst/gstelementfactory.c: + gst_element_factory_get_metadata: protect from null factory + +2019-03-12 21:19:23 +0000 Damian Vicino + + * README: + Update README + +2019-03-12 20:12:37 +0000 Damian Vicino + + * README: + Update README to have correct name of the license file documented (COPYING). There is no LICENSE file in the root directory, and COPYING file content is a license file. + +2019-03-10 15:35:39 +0900 Seungha Yang + + * tests/check/meson.build: + tests: fdsrc: Exclude unit test on Windows + Since elements_fdsrc.test_num_buffers uses blocking pipe on Windows, + the test will never be finished. But emulating non-blocking fd without + win32 APIs on Windows is a little tricky. + +2019-03-08 16:19:29 +0100 Santiago Carot-Nemesio + + * gst/gsttaskpool.c: + gsttaskpool: Do not block tasks while cleaning up the taskpool + There is a deadlock if any thread from the pool tries to push + a new task while other thread is waiting for the pool of threads + to finish. With this patch the thread will get an error when it + tries to add a new task while the taskpool is being cleaned up. + +2019-03-06 19:46:46 +0100 Marco Trevisan (Treviño) + + * gst/gsturi.c: + gsturi: Fix annotation on get_path to return a nullable + Use proper syntax or the (nullable): part will be part of the description + +2019-03-06 19:34:12 +0100 Marco Trevisan (Treviño) + + * gst/gstmessage.c: + gstmessage: Fix annotations on details + Details argument should be nullable, but the docstring uses a wrong syntax. + +2019-03-06 09:04:54 +0000 Tim-Philipp Müller + + * tests/check/gst/gstbuffer.c: + tests: fix leak in buffer test_wrapped_bytes test + +2019-03-01 11:59:14 +0100 Mathieu Duponchelle + + * gst/gstbuffer.c: + * tests/check/gst/gstmeta.c: + gstbuffer: store meta in add order + The previous implementation of add was implemented as a prepend, + switch to append as that seems like the expected order. + +2019-03-04 09:01:07 +0000 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + * meson.build: + Back to development + +2019-02-28 16:48:57 +0100 Santiago Carot-Nemesio + + * gst/gsttaskpool.c: + taskpool: Set error in case something goes wrong in the default handlers + +=== release 1.15.2 === + +2019-02-26 11:38:00 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gstreamer.doap: + * meson.build: + Release 1.15.2 + +2019-02-26 13:23:47 +0000 Tim-Philipp Müller + + * gst/parse/Makefile.am: + meson: dist get_flex_version.py + +2019-02-26 11:38:00 +0000 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + Update docs + +2019-02-26 11:37:57 +0000 Tim-Philipp Müller + + * 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 translations + +2019-02-25 13:49:43 +0100 Philipp Zabel + + * gst/gstplugin.c: + plugin: add 0BSD as valid license + Add the zero-clause BSD license, which is an alteration of the ISC + license, to the list of valid licenses. + +2019-02-25 13:48:38 +0100 Philipp Zabel + + * gst/gstplugin.c: + plugin: fix link to 3-clause BSD license + The current link points to the 2-clause BSD license, + explicitly link to the 3-clause version of the license. + +2019-02-20 17:51:40 +0530 Nirbheek Chauhan + + * gst/gstmacros.h: + gstmacros.h: Fix restrict definition on MSVC + Turns out it's exposed as `__restrict`, not as `restrict`. + https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/95#note_120782 + +2019-02-20 01:25:11 +0530 Nirbheek Chauhan + + * gst/gstmacros.h: + gstmacros.h: Fix check for 'restrict' keyword + MSVC also defines it as a keyword. Fixes build errors in projects that + include MSVC's xkeycheck.h which ensures that keywords aren't overriden + with a define. + +2019-02-18 09:58:19 +0900 Seungha Yang + + * gst/gstbuffer.c: + buffer: Don't miss return value on Windows build + ... and use InterlockedExchangeAdd64 for the 64bit value. + InterlockedExchangeAdd is 32bit version. + +2019-02-15 13:23:37 +0200 Sebastian Dröge + + * gst/gstbus.c: + bus: Make removing of signal/bus watches thread-safe + Between getting the GSource with the mutex and destroying it, something + else might've destroyed it already and we would have a dangling pointer. + Keep an additional reference just in case. + +2019-02-15 13:20:27 +0200 Sebastian Dröge + + * gst/gstbus.c: + bus: Don't allow removing signal watches with gst_bus_remove_watch() + Signal watches are reference counted and gst_bus_remove_watch() would + immediately remove it, breaking the reference counting. Only + gst_bus_remove_signal_watch() should be used for removing signal + watches. + +2019-02-11 15:21:21 +1300 Lawrence Troup + + * gst/gstpad.c: + * gst/gstpad.h: + pad: Document that pad unlink function is called with pad lock held + Fixes #353 + +2016-12-02 17:56:59 +0000 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + * gst/gst_private.h: + * gst/gstbuffer.c: + * gst/gstmeta.c: + * gst/gstmeta.h: + * tests/check/gst/gstmeta.c: + buffer: store sequence number for metas + For metas where order might be significant if multiple metas are + attached to the same buffer, so store a sequence number with the + meta when adding it to the buffer. This allows users of the meta + to make sure metas are processed in the right order. + We need a 64-bit integer for the sequence number here in the API, + a 32-bit one might overflow too easily with high packet/buffer + rates. We could do it rtp-seqnum style of course, but that's a + bit of a pain. + We could also make it so that gst_buffer_add_meta() just keeps metas in + order or rely on the order we add the metas in, but that seems too + fragile overall, when buffers (incl. metas) get merged or split. + Also add a compare function for easier sorting. + We store the seqnum in the MetaItem struct here and not in the + GstMeta struct since there's no padding in the GstMeta struct. + We could add a private struct to GstMeta before the start of + GstMeta, but that's what MetaItem effectively is implementation- + wise. We can still change this later if we want, since it's all + private. + Fixes #262 + +2019-02-09 11:35:59 +0200 Sebastian Dröge + + * gst/gstdeviceprovider.c: + deviceprovider: It's (transfer none) not (transfer-none) + +2019-01-30 10:41:58 -0300 Thibault Saunier + + * docs/gst/gstreamer-sections.txt: + * gst/gstdevicemonitor.c: + * gst/gstdeviceprovider.c: + * gst/gstdeviceprovider.h: + * gst/gstmessage.c: + * gst/gstmessage.h: + * gst/gstquark.c: + * gst/gstquark.h: + device-provider: Allow notifying application of device changes + Thi introduces new APIs to post a `DEVICE_CHANGED` message on the + bus so the application is notifies when a device is modified. For + example, if the "defaultness" of a device was changed or any property + that can be changed at any time. Atomically changing the device + object notifying that way allow us to abtract away the internal threads. + New APIS: + - gst_message_new_device_changed + - gst_message_parse_device_changed + - gst_device_provider_device_changed + +2019-02-08 16:42:43 +0530 Nirbheek Chauhan + + * gst/parse/get_flex_version.py: + * gst/parse/meson.build: + meson: Extract flex version using a regex inside a script + Different builds of Flex on different platforms output different strings + in --version. For example: + macOS: + flex 2.5.35 Apple(flex-31) + Windows: + win_flex.exe 2.6.4 + C:\Program Files (x86)\GnuWin32\bin\flex.EXE version 2.5.4 + We need to look for a string that looks like a version, which means + a regex till https://github.com/mesonbuild/meson/issues/1609 is fixed. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/356 + +2019-02-05 18:18:48 +0530 Nirbheek Chauhan + + * libs/gst/check/gstharness.c: + * tests/check/gst/gstmeta.c: + * tools/gst-inspect.c: + misc: Fix various compiler warnings on MinGW + gstharness.c: Use G_GSIZE_FORMAT instead of hard-coding %zu + error: unknown conversion type character 'z' in format [-Werror=format] + gst-inspect.c: GPid is void* on non-UNIX, and we only use it on UNIX + error: initialization makes pointer from integer without a cast [-Werror] + gstmeta.c: Use and then discard value + error: value computed is not used [-Werror=unused-value] + With this, gstreamer builds with -Werror on MinGW + +2019-01-29 16:26:49 +0200 Sebastian Dröge + + * gst/gstdatetime.c: + datetime: new() and new_local_time() constructors are not nullable + +2019-01-29 15:50:06 +0200 Sebastian Dröge + + * gst/gstpad.c: + pad: Constructors are all not nullable + They can't possibly return NULL except in case of assertions. + +2019-01-29 15:49:50 +0200 Sebastian Dröge + + * gst/gstpadtemplate.c: + padtemplate: Constructors are all nullable as they check the template name + +2019-01-29 12:01:59 +0100 Edward Hervey + + * tests/check/libs/baseparse.c: + test: Set PTS on proper variable + This would previously set the PTS on a random address causing various + memory corruption + +2019-01-25 02:36:18 +0100 Mathieu Duponchelle + + * gst/gstinfo.c: + * meson.build: + * meson_options.txt: + gstinfo: add Windows stacktraces support + This uses the DbgHelp library if available + +2019-01-25 13:46:59 -0500 Nicolas Dufresne + + * gst/gstpad.c: + pad: Remove unneeded 64bit upcast in debug trace + The hook->hook_id is a gulong for which there are no portability issues + when tracing in printf format with %lu. So use %lu and remove the upcast + to 64 bit. This makes the code more consistent with everything else + tracing that hook_id and other gulong id. + +2019-01-24 13:52:46 -0500 Nicolas Dufresne + + * tools/gst-inspect.c: + gst-inspect: Re-add DEFAULT_LESS_OPTS with initial value + Commit 56b4fbef5e6760adc927d0e1c7c8d6a0db9b785c refactored the pipe code + to use GLib utility, but the patch was hading some other changed. LESS + env was now hardcoded in the middle instead of from a define and was + changed from FXR to -RX. The "-" is not even valid for LESS env, and + with the lost of F, we would still use a pager when the content fits the + terminal. + +2019-01-23 13:51:08 +0200 Sebastian Dröge + + * gst/gsttaglist.c: + taglist: Remove (scope call) annotation from gst_tag_register() + This was added in 7fdb15d6a2 but it is wrong. (scope call) is for + closures that only have to stay valid for the scope of the call, but the + tag merge function has to stay valid for the whole lifetime of the + application instead. + There's no appropriate scope annotation for that so we have to skip + these functions for now. + +2019-01-23 12:15:13 +0900 Seungha Yang + + * tests/check/gst/gstinfo.c: + tests: info: Fix spurious validation + Should be equality check, not assignment. + Additionally, use fail_unless_equals_* macro for better readability + and debugging easier, if possible. + +2019-01-23 21:15:09 +0100 Mathieu Duponchelle + + * gst/parse/meson.build: + meson: improve flex version parsing + the output of flex --version can contain more than one space + +2019-01-22 14:05:43 +0900 Seungha Yang + + * meson.build: + meson: Correct minimum required GLib version + It's updated to 2.40.0 since the commit 3e8ef4cf5a41e26836f0a5a8cb3ddaa5e55f1524 + +2019-01-17 11:22:27 +0900 Seungha Yang + + * tools/gst-inspect.c: + gst-inspect: Don't setup pager too early + Setup it only if we have something to print out about inspected results. + Otherwise, gst_tools_print_version() output will be redirected to pager and also + exit immediately without waiting child process. + +2019-01-08 21:23:44 +0900 Seungha Yang + + * tools/gst-inspect.c: + gst-inspect: Port to Glib's spawn API + Although we support pager just for *nix until now, + this can make more portable to Windows. + Fixes #342 + +=== release 1.15.1 === + +2019-01-17 01:38:59 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gstreamer.doap: + * meson.build: + Release 1.15.1 + +2019-01-17 01:38:59 +0000 Tim-Philipp Müller + + * docs/plugins/gstreamer-plugins.args: + * docs/plugins/gstreamer-plugins.hierarchy: + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + Update docs + +2019-01-17 01:38:49 +0000 Tim-Philipp Müller + + * 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 translations + +2019-01-17 01:30:25 +0530 Nirbheek Chauhan + + * tools/gst-inspect.c: + gst-inspect: Fix ANSI escape sequence usage on Windows + Either disable it when it's not supported, or setup the console to + interpret them correctly when it's supported. + Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/351 + +2019-01-15 18:05:31 +0200 Sebastian Dröge + + * gst/gstpad.c: + pad: Fix printf format when printing hook id + It's a gulong so we have to cast it to a guint64 when using it with + G_GUINT64_FORMAT. + Spotted by Vincent Penvern. + +2019-01-14 16:22:16 +0800 Daniel Drake + + * gst/gstdeviceprovider.c: + deviceprovider: fix counting number of times started + GstDeviceProvider has a started_count private variable counter, + and the gst_device_provider_start() documentation emphasizes the + importance of balancing the start and stop calls. + However, when starting a provider that is already started, the + current code will never increment the counter more than once. + So you start it twice, but it will have start_count 1, which is the + maximum value it will ever see. + Then when you stop it twice, on the 2nd stop, after decrementing the + counter in gst_device_provider_stop(): + else if (provider->priv->started_count < 1) { + g_critical + ("Trying to stop a GstDeviceProvider %s which is already stopped", + GST_OBJECT_NAME (provider)); + and the program is killed. + Fix this by incrementing the counter when starting a device provider that + was already started. + +2019-01-11 12:32:49 +0200 Jordan Petridis + + * tests/check/gst/gstdatetime.c: + tests: gstdatetime: move gst_date_time_new* and time() calls closer + While extremelly rare, time and gst_date_time_new_* will have + diff values and potentially trigger an assertion. Thus move + the calls as closely together as possible to mitigate this. + +2019-01-10 12:05:34 +0000 Sebastian Dröge + + * gst/gstbin.c: + Revert "bin: Hold the state lock while removing elements from a bin" + This reverts commit 7f70d7a9450b321585fbfd1eb977548d4264b2a6 + +2019-01-09 14:01:02 +0100 Jan Alexander Steffens (heftig) + + * tests/check/gst/gststructure.c: + tests: Add more int range fixation tests + +2019-01-09 13:38:44 +0100 Jan Alexander Steffens (heftig) + + * gst/gststructure.c: + structure: Support stepped ranges when fixating + The step restriction was completely ignored until now. + +2019-01-09 13:37:30 +0100 Jan Alexander Steffens (heftig) + + * gst/gststructure.c: + structure: Use GLib's CLAMP macro for fixating ranges + Just a bit of refactoring. + +2019-01-07 14:08:25 +0200 Sebastian Dröge + + * gst/gstelement.c: + element: Add note about racyness to gst_element_set_locked_state() + This is racy if the state lock of the parent bin is not taken. The + parent bin might've just checked the flag in another thread and as the + next step proceed to change the child element's state. + +2019-01-07 14:08:00 +0200 Sebastian Dröge + + * gst/gstbin.c: + bin: Hold the state lock while removing elements from a bin + We need to take the state lock here to ensure that we're + not currently just before setting the state of this child + element. Otherwise it can happen that we removed the element + here and e.g. set it to NULL state, and shortly afterwards + have another thread set it to a higher state again as part of + a state change for the whole bin. + When adding an element to the bin this is not needed as we + require callers to always ensure after adding to the bin that + the new element is set to the correct state. + +2019-01-05 18:55:12 +0000 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: fix typo in docs + +2019-01-02 23:35:11 +0200 Sebastian Dröge + + * tests/check/gst/gstpipeline.c: + pipeline: Call gst_task_cleanup_all() before checking reference counts after shutdown + We have to ensure that all background threads from thread pools are shut + down, or otherwise they might not have had a chance yet to drop their + last reference to the pipeline and then the assertion for a reference + count of 1 on the pipeline fails. + +2019-01-02 18:41:24 +0200 Sebastian Dröge + + * tests/check/gst/gstpipeline.c: + pipeline: Use the test clock in all unit tests + And check for exact times as we can now do that thanks to the test clock + being deterministic. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/313 + +2018-09-26 17:09:50 +0200 Michael Olbrich + + * libs/gst/helpers/gst_gdb.py: + gdb: implement 'gst-dot' and 'gst-print' commands + This adds two custom gdb commands: + 'gst-dot' creates dot files that a very close to what + GST_DEBUG_BIN_TO_DOT_FILE() produces. Object properties and buffer content + (e.g. codec-data in caps) are not available. + 'gst-print' produces high-level information about GStreamer objects. This + is currently limited to pads for GstElements and events for the pads. The + output can look like this: + (gdb) gst-print pad.object.parent + GstMatroskaDemux (matroskademux0) { + SinkPad (sink, pull) { + } + SrcPad (video_0, push) { + events: + stream-start: + stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/001:1274058367 + caps: video/x-theora + width: 1920 + height: 800 + pixel-aspect-ratio: 1/1 + framerate: 24/1 + streamheader: < 0x5555557c7d30 [GstBuffer], 0x5555557c7e40 [GstBuffer], 0x7fffe00141d0 [GstBuffer] > + segment: time + rate: 1 + tag: global + container-format: Matroska + } + SrcPad (audio_0, push) { + events: + stream-start: + stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/002:1551204875 + caps: audio/mpeg + mpegversion: 4 + framed: true + stream-format: raw + codec_data: 0x7fffe0014500 [GstBuffer] + level: 2 + base-profile: lc + profile: lc + channels: 2 + rate: 44100 + segment: time + rate: 1 + tag: global + container-format: Matroska + tag: stream + audio-codec: MPEG-4 AAC audio + language-code: en + } + } + +2018-12-29 16:20:54 +0100 Michael Olbrich + + * libs/gst/helpers/gst_gdb.py: + gdb: make the code PEP-8 compliant + +2018-12-31 14:55:55 +0000 Tim-Philipp Müller + + * tests/check/gst/gststream.h: + tests: remove unused gststream.h file + Looks like an earlier version of the .c file. + +2018-12-19 16:55:57 -0500 Nicolas Dufresne + + * tools/gst-inspect.c: + gst-inspect: Disable colors when piped + This follows what git and systemd tools would do. + +2018-12-19 16:06:40 -0500 Nicolas Dufresne + + * tools/gst-inspect.c: + gst-inspect: Fix pager color with less + Fixes #341 + +2018-12-19 00:34:40 +0000 Tim-Philipp Müller + + * libs/gst/base/gstbasesrc.c: + basesrc: ensure submitted buffer list is writable + Fixes flaky appsrc unit test where depending on scheduling + the submitted list might not be writable if submitted via + an action signal from the application thread. + Fixes gst-plugins-base#522 + +2018-12-14 15:55:27 +0000 Jonny Lamb + + * plugins/elements/gstidentity.c: + * plugins/elements/gstidentity.h: + identity: fixes to the eos-after and error-after properties + I copied `error-after` to make the `eos-after` property, but it turned + out there were some problems with that one, so this patch: adds + separate counters (so setting to NULL and reusing the element will + still work); clarifies the properties' min values; and reports an + error when both are set. + +2018-11-28 14:58:32 -0600 Michael Gruner + + * scripts/gst-uninstalled: + gst-uninstalled: include prefix in the plugins path + +2018-12-17 23:29:16 +0900 Seungha Yang + + * tests/check/gst/gstdatetime.c: + tests: datetime: Fix failure on Windows + The documentation for WIN32 mktime indicates that for struct tm* + before January 1, 1970, that -1 is returned, and since mktime is timezone + dependent, the struct tm corresponding to 1:00, Jan. 1, 1970 might be failed. + See also + https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/mktime-mktime32-mktime64 + +2018-09-25 09:03:03 +0200 Edward Hervey + + * plugins/elements/gstqueue2.c: + queue2: Add details of query in debug log + +2018-12-15 11:42:30 +0100 Edward Hervey + + * gst/parse/grammar.y: + parse: Move variable to block where it's used + There was a dead assignment used outside of the bin/pipeline creation + which was confusing (and unused). Just move that variable to + where it is actually used. + (Note that that variable was not needed outside of that block since + the refactoring done in 2b33d3318519fd613dd5a4ebbd7c308609904e68 ) + +2018-12-15 11:08:09 +0100 Edward Hervey + + * tests/examples/streamiddemux/streamiddemux-stream.c: + examples: Remove dead assignments + Those values are always set after before usage + +2018-12-15 11:07:21 +0100 Edward Hervey + + * libs/gst/check/gstharness.c: + harness: assert on result of gst_pad_push_event() + That assertion was accidentally removed in the refactoring done in + 60de1f26c78feb0cde6d3f82cf86cf35daa71cc0 + +2018-12-15 10:53:55 +0100 Edward Hervey + + * tools/gst-inspect.c: + gst-inspect: Remove dead assignment + readable is set just after before usage since 906bbd3817c86e64d1bfa57570469055456addfe + +2018-12-14 18:38:21 +0200 Sebastian Dröge + + * tests/check/gst/gstpad.c: + pad: Let threads in the test take ownership of a strong reference to their pads + Otherwise it can easily happen that the pad is destroyed before the + thread disappears, as happened sometimes in the test_pad_probe_block_add_remove + test where joining of the thread was done *after* the pad was unreffed + and destroyed. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/339 + +2018-12-14 18:37:53 +0200 Sebastian Dröge + + * gst/gstpad.c: + pad: Print some debug information about pad probe hooks we remove + +2018-12-11 16:48:56 +0000 Jonny Lamb + + * plugins/elements/gstidentity.c: + * plugins/elements/gstidentity.h: + identity: add eos-after property + Using `num-buffers` can be unpredictable as buffer sizes are often + arbitrary (filesrc, multifilesrc, etc.). The `error-after` property on + `identity` is better but obviously reports an error afterwards. This + adds `eos-after` which does exactly the same thing but reports EOS + instead. + +2018-12-11 10:48:46 +0100 Guillaume Desmottes + + * docs/gst/gstreamer-sections.txt: + * gst/gstcaps.c: + * gst/gstcaps.h: + * tests/check/gst/gstcaps.c: + gstcaps: add gst_caps_set_features_simple() + Convenient helper setting a caps feature on all the structures of a + caps. + +2018-12-06 20:22:21 +0000 Roman Sivriver + + * libs/gst/helpers/Makefile.am: + gst: fixed the install command for gdb python macros on macos - `install -D` is not supported by BSD install + +2018-12-01 10:32:07 -0500 Dardo D Kleiner + + * tests/check/gst/gstmeta.c: + buffer: Add more exhaustive test for gst_buffer_foreach_meta() meta removal + Existing test for iterating/removing buffer meta data was insufficient + to detect linked list corruption when removing multiple items, and could + also suffer from such corruption in attempting to count remaining items. + Modified the one test and added several others to exercise multiple + scenarios. + Validates fix for issue #332. + +2018-12-01 10:48:11 -0500 Dardo D Kleiner + + * gst/gstbuffer.c: + buffer: Fix memory corruption in gst_buffer_foreach_meta() when removing metas + Fix corruption of meta list head when removing metas at the beginning + during iteration. Linked list handling in gst_buffer_foreach_meta + failed to track the previous entry and update the correct next pointer + when removing items from beyond the head of the list, resulting in + arbitrary list pointer corruption. + Closes #332 + +2018-12-05 17:24:00 -0300 Thibault Saunier + + * common: + Automatic update of common submodule + From cd1dee0 to 59cb678 + +2018-11-23 21:22:21 -0500 Nicolas Dufresne + + * meson.build: + * meson_options.txt: + libdw support is optional + This was no longer optional, leading to deadcode. This regression was + found trying to fix the unwind variant in cerbero. + +2018-11-29 12:54:46 +0100 Zeeshan Ali + + * tools/gst-inspect.c: + gst-inspect: Fix colors for "URI handling" section + They seemed incompatible with other colors. + +2018-11-28 18:06:54 +0100 Zeeshan Ali + + * tools/gst-inspect.c: + gst-inspect: Avoid use of non-bright blue color + Simple blue doesn't work on Linux console, which also happens to be a + gnome-terminal theme. Use bright-blue instead. + +2018-11-26 22:00:28 +0900 KimTaeSoo + + * tests/check/libs/baseparse.c: + baseparse: Add unit test for short reads + Before the previous commit, buffer pulling count and chain function call + counts are not equal due to EOS. After the modification, these counts + are equal so unit test is passing. + https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/33 + https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/294 + +2018-11-15 00:17:09 +0900 KimTaeSoo + + * libs/gst/base/gstbaseparse.c: + baseparse: Use buffer from short reads instead of pulling again + baseparse internally uses a 64kb buffer for pulling data from upstream. + If a 64kb pull is failing with a short read, it would previously pull + again the requested size. + Doing so is not only inefficient but also seems to cause problems with + some elements (rawvideoparse) where the second pull would fail with EOS. + Short reads are only allowed in GStreamer at EOS. + Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/294 + +2018-11-28 11:00:21 +0000 Philippe Normand + + * plugins/elements/gstinputselector.c: + input-selector: Let context queries pass through + By doing so GL source elements can successfully reuse the GL context and display + of downstream elements. This change fixes an issue in playbin when using + gltestsrc where the context query made by the source element would fail and the + source element would create a second (useless) GLDisplay. + +2018-11-28 05:58:53 +0200 Jordan Petridis + + * gst/gstsystemclock.c: + * libs/gst/check/libcheck/check.c: + * plugins/elements/gstfdsink.c: + * tests/benchmarks/capsnego.c: + * tests/check/gst/gstpad.c: + * tests/check/gst/gsturi.c: + Run gst-indent through the files + This is required before we enabled an indent test in the CI. + https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33 + +2018-11-24 14:51:19 +0100 Zeeshan Ali + + * tools/gst-inspect.c: + gst-inspect: Use only original 16 colors + Not only this will make colored output work on old terminals and console + as well, terminals can theme the actual colors this way to make it fit + with their different themes this way. + +2018-11-27 02:59:41 +0100 Mathieu Duponchelle + + * libs/gst/check/gstharness.c: + Revert "harness: Take ownership of floating references (pads, elements) passed to the harness" + This reverts commit 2faf93c009d866d68cf0d063a29bb8c21f192aea. + THis broke half our unit tests, oops: + https://ci.gstreamer.net/job/GStreamer-master/11203/testReport/ + +2018-11-13 14:32:56 +0200 Sebastian Dröge + + * libs/gst/check/gstharness.c: + harness: Take ownership of floating references (pads, elements) passed to the harness + Without this bindings get confused about the meaning of references, and + we really own these references if they are not already owned by + something else. + +2018-11-24 12:06:38 +0100 Zeeshan Ali + + * tools/gst-inspect.c: + gst-inspect: Tell `less` to parse color codes + This change was originally part of 2cf16838c54 (gst-inspect: Colored + output) but got lost during the recent rebase. + +2018-10-27 18:06:20 +0100 Zeeshan Ali + + * tools/gst-inspect-1.0.1: + * tools/gst-inspect.c: + gst-inspect: Colored output + Let's make the output a bit pretty to read. The colored output can be + disabled with `--no-colors` option or by setting `GST_INSPECT_NO_COLORS' + env (to any value). + The chosen colors are based on the popular Solarized theme, which is + targeted for both dark and light backgrounds. + Note: + * We only support true colors. If the terminal doesn't signal support for + that via 'COLORTERM' env, we disable colored output. + * We don't add colors to --print-plugin-auto-install-info output, as + that's meant for machines, not humans. Not only machines don't care + about beauty, the existing ones will likely not expect colors and choke + on it and we'll get angry mob at our doors. + [1] https://ethanschoonover.com/solarized + +2018-11-10 23:35:18 +0100 Zeeshan Ali + + * tools/gst-inspect.c: + gst-inspect: Remove redundant plugin name from output + When printing info about a specific plugin, there is no need to prefix + some of the details with plugin's name. It's not only redundant but also + inconsistent and makes the task of adding consistent coloring to the + output (which we'll do in a follow patch), harder. + +2018-11-23 03:31:38 +0530 Nirbheek Chauhan + + * tools/gst-inspect.c: + gst-inspect: Use less -F -X everywhere as the pager + This emulates the default behaviour of git help pages, and also fixes + a bug on macOS where `less -F` doesn't display anything at all when + the output is shorter than one terminal screen. + Also moved the DEFAULT_PAGER define to after the includes, because + it's an unprefixed define. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/330 + +2018-11-12 14:00:22 +0200 Jordan Petridis + + * .gitlab-ci.yml: + Add Gitlab CI configuration + This commit adds a .gitlab-ci.yml file, which uses a feature + to fetch the config from a centralized repository. The intent is + to have all the gstreamer modules use the same configuration. + The configuration is currently hosted at the gst-ci repository + under the gitlab/ci_template.yml path. + Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29 + +2018-12-11 20:12:50 +0900 Seungha Yang + + * tests/check/gst/gstcaps.c: + tests: caps: Add more broken caps test case + +2018-12-11 20:12:41 +0900 Seungha Yang + + * gst/gstcaps.c: + * gst/gstchildproxy.c: + * gst/gststructure.c: + * gst/gsttracerrecord.c: + gst: Fix string leak when G_VALUE_COLLECT_INIT() was failed + Returned string should be freed + Fixes #319 + +2018-11-10 20:41:40 +0200 Sebastian Dröge + + * gst/gstdebugutils.h: + debugutils: Make sure that GST_DEBUG_GRAPH_SHOW_VERBOSE gets the correct value in introspection + Currently in Python it would become a signed 64 bit value but should + actually be an unsigned 32 bit value with all bits set. + This is the same problem as with GST_MESSAGE_TYPE_ANY. + See https://bugzilla.gnome.org/show_bug.cgi?id=732633 + +2018-11-06 10:20:17 +0100 Havard Graff + + * configure.ac: + * gst/gstconfig.h.in: + * gst/meson.build: + * libs/gst/check/gstcheck.h: + * tests/check/gst/gstcaps.c: + * tests/check/gst/gstghostpad.c: + * tests/check/gst/gstobject.c: + * tests/check/gst/gststructure.c: + * tests/check/gst/gsturi.c: + * tests/check/gst/gstvalue.c: + * tests/check/libs/adapter.c: + tests: fix tests when compiling with glib_checks=disabled + We won't be able to do ASSERT_CRITICAL, but the main body of the tests + are still valid, and given we ship GStreamer with this configuration, it + is important to be able to run some tests against it. + +2018-10-31 10:29:22 +0100 Havard Graff + + * tests/check/gst/gstdatetime.c: + test/datetime: fix test for windows + In the previous configuration, mktime returned -1 on Windows 10 compiled + with MSVC using meson. + Fix this by moving the hour one forward. + +2018-10-31 10:27:23 +0100 Havard Graff + + * tests/check/gst/gsturi.c: + tests/uri: fix test after GHashTable changes in GLib 2.59 + Maybe the implementation should not be dependent on a "random" hash-table + ordering, but at least this shows the problem clearly. + +2018-11-09 11:34:19 +0100 Zeeshan Ali + + * tools/gst-inspect.c: + gst-inspect: Pipe stderr to pager as well + If stderr is not redirected by the user, also page that. + +2018-11-05 12:24:01 +0100 Niels De Graef + + * plugins/elements/gsttypefindelement.c: + typefind: cleanup (un)reffing of several objects. + By using these functions, we can shave off a few lines, and make the + intent of that line more clear. + +2018-11-08 14:09:32 +0000 Tim-Philipp Müller + + * libs/gst/helpers/Makefile.am: + Fix distcheck + Follow-up to !18 and #320. + +2018-09-26 13:33:31 +0200 Michael Olbrich + + * configure.ac: + * libs/gst/helpers/.gitignore: + * libs/gst/helpers/Makefile.am: + * libs/gst/helpers/glib_gobject_helper.py: + * libs/gst/helpers/gst_gdb.py: + * libs/gst/helpers/libgstreamer-gdb.py.in: + * libs/gst/helpers/meson.build: + gst: add some gdb python macros + This adds gdb pretty printer for some GStreamer types. + For GstObject pointers the type and name is added, e.g. + "0x5555557e4110 [GstDecodeBin|decodebin0]". + For GstMiniObject pointers the object type is added, e.g. + "0x7fffe001fc50 [GstBuffer]". + For GstClockTime and GstClockTimeDiff the time is also printed in human + readable form, e.g. "150116219955 [+0:02:30.116219955]". + Fixes #320 + +2018-11-08 10:09:29 +0200 Sebastian Dröge + + * gst/gstclock.c: + * gst/gstclock.h: + clock: Move clock GWeakRef to a private GstClockEntry struct + There's no need for it to be in the public struct and we can keep the + padding for things to be added in the future. + +2018-05-17 21:42:43 +1000 Matthew Waters + + * docs/gst/gstreamer-sections.txt: + * gst/gstpad.c: + * gst/gstquark.c: + * gst/gstquark.h: + * gst/gstquery.c: + * gst/gstquery.h: + * plugins/elements/gstqueue2.c: + * plugins/elements/gstqueue2.h: + * tests/check/elements/queue2.c: + query: add a new bitrate query + Allows determining from downstream what the expected bitrate of a stream + may be which is useful in queue2 for setting time based limits when + upstream does not provide timing information. + Implement bitrate query handling in queue2 + https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60 + +2018-05-17 21:09:36 +1000 Matthew Waters + + * plugins/elements/gstqueue2.c: + * plugins/elements/gstqueue2.h: + queue2: avoid ping-pong between 0% and 100% buffering messages + If upstream is pushing buffers larger than our limits, only 1 buffer + is ever in the queue at a time. Once that single buffer has left the + queue, a 0% buffering message would be posted followed immediately by a + 100% buffering message when the next buffer was inserted into the queue + a very short time later. As per the recommendations, This would result + in the application pausing for a short while causing the appearance of + a short stutter. + The first step of a solution involves not posting a buffering message if + there is still data waiting on the sink pad for insertion into the queue. + This successfully drops the 0% messages from being posted however a + message is still posted on each transition to 100% when the new buffer + arrives resulting in a string of 100% buffering messages. We silence + these by storing the last posted buffering percentage and only posting a + new message when it is different from or last posted message. + +2018-11-06 20:12:27 +0000 Nicolas Dufresne + + * plugins/tracers/gstlog.c: + tracers: log: Fix post query trace + The post tracer hooks have a GstQuery argument which was truncated from + the trace. As the post hook is the one that contains the useful data, + this bug was hiding the important information from that trace. + +2018-11-06 14:21:35 +0100 Havard Graff + + * docs/libs/gstreamer-libs-sections.txt: + docs: add new GstTestClock API + +2018-11-06 11:45:45 +0100 Havard Graff + + * libs/gst/check/gstharness.c: + * libs/gst/check/gsttestclock.c: + * libs/gst/check/gsttestclock.h: + harness: improve _wait_for_clock_id_waits performance + By moving the functionality down to the testclock, the implementation + no longer needs to poll the waits, but rather wait properly for + them to be added. + The performance-hit here would be that by polling the test-clock + regularly, you would create contention on the testclock-lock, making code + using the testclock (gst_clock_id_wait) fighting for the lock. + +2018-09-20 01:42:48 -0700 Havard Graff + + * gst/gstsystemclock.c: + systemclock: pre-calculate the ratio for multiplying the perf-count on win + Saves a lot of computations. + +2018-10-28 12:46:09 +0100 Havard Graff + + * gst/gstpad.c: + * tests/check/gst/gstpad.c: + gstpad: use hook_id instead of hook in called_probes list + A pointer to a hook in this list can easily not be unique, given both + the slice-allocator reusing memory, and the OS re-using freed blocks + in malloc. + By doing many repeated add and remove of probes, this becomes very easily + reproduced. + Instead use hook_id, which *is* unique for a added GHook. + +2018-09-27 19:13:35 +1000 Matthew Waters + + * docs/gst/gstreamer-sections.txt: + * gst/gstbuffer.c: + * gst/gstbuffer.h: + * tests/check/gst/gstbuffer.c: + gst/buffer: add a new function for wrapping GBytes + One restriction on the GBytes is that the data cannot be NULL as this is + explicitly forbidden by GstMemory. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/318 + +2018-11-03 00:49:01 +1100 Matthew Waters + + * meson.build: + * plugins/elements/meson.build: + * plugins/tracers/meson.build: + meson: generate pkg-config files for our plugins + +2018-11-05 14:07:59 +0100 Jan Alexander Steffens (heftig) + + * gst/gstminiobject.c: + * gst/gstminiobject.h: + * gst/gstobject.c: + * gst/gstobject.h: + * gst/gststructure.c: + * gst/gststructure.h: + gst_clear_*: Remove volatile from arguments + g_clear_pointer is not thread-safe and never was. GLib similarly removed + the volatile from g_clear_object in 2aacef39b1. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/327 + +2018-11-05 14:03:51 +0100 Jan Alexander Steffens (heftig) + + * gst/gstbuffer.h: + * gst/gstbufferlist.h: + * gst/gstcaps.h: + * gst/gstevent.h: + * gst/gstmessage.h: + * gst/gstquery.h: + * gst/gsttaglist.h: + gst_clear_*: Cast to GstMiniObject** when needed + +2018-11-05 09:37:29 +0100 Niels De Graef + + * docs/gst/gstreamer-sections.txt: + docs: update gstreamer-sections.txt with new API + +2018-11-05 10:33:54 +0100 Niels De Graef + + * gst/gstquery.h: + query: add gst_query_take() + This makes its API consistent with the other GstMiniObject subclasses + +2018-11-05 08:57:16 +0100 Niels De Graef + + * gst/gstmessage.h: + message: add gst_message_take() + This makes its API consistent with the other GstMiniObject subclasses + +2018-11-04 19:14:32 +0100 Niels De Graef + + * gst/gsttaglist.h: + taglist: add gst_tag_list_replace/take() + This makes its API consistent with the other GstMiniObject subclasses. + +2018-11-04 19:13:39 +0100 Niels De Graef + + * gst/gstbufferlist.h: + bufferlist: add gst_buffer_list_replace/take() + This makes its API consistent with the other GstMiniObject subclasses. + +2018-11-04 19:04:19 +0100 Niels De Graef + + * gst/gststructure.c: + * gst/gststructure.h: + structure: add gst_clear_structure() + Basically, you can use this instead of using gst_structure_free (which + needs to be preceded by a NULL-check). + Also fixes #275 + +2018-11-04 18:55:42 +0100 Niels De Graef + + * gst/gsttaglist.h: + taglist: add gst_clear_tag_list() + Basically, you can use this instead of using gst_tag_list_unref (which + needs to be preceded by a NULL-check). + Also fixes #275 + +2018-11-04 18:55:16 +0100 Niels De Graef + + * gst/gstquery.h: + query: add gst_clear_query() + Basically, you can use this instead of using gst_query_unref (which + needs to be preceded by a NULL-check). + Also fixes #275 + +2018-11-04 18:54:44 +0100 Niels De Graef + + * gst/gstmessage.h: + message: add gst_clear_message() + Basically, you can use this instead of using gst_message_unref (which + needs to be preceded by a NULL-check). + Also fixes #275 + +2018-11-04 18:53:51 +0100 Niels De Graef + + * gst/gstevent.h: + event: add gst_clear_event() + Basically, you can use this instead of using gst_event_unref (which + needs to be preceded by a NULL-check). + Also fixes #275 + +2018-11-04 18:53:31 +0100 Niels De Graef + + * gst/gstcaps.h: + caps: add gst_clear_caps() + Basically, you can use this instead of using gst_caps_unref (which + needs to be preceded by a NULL-check). + Also fixes #275 + +2018-11-04 18:52:50 +0100 Niels De Graef + + * gst/gstbufferlist.h: + bufferlist: add gst_clear_buffer_list() + Basically, you can use this instead of using gst_buffer_list_unref + (which needs to be preceded by a NULL-check). + Also fixes #275 + +2018-11-04 18:51:28 +0100 Niels De Graef + + * gst/gstbuffer.h: + buffer: add gst_clear_buffer() + Basically, you can use this instead of using gst_buffer_unref (which + needs to be preceded by a NULL-check). + Also fixes #275 + +2018-11-03 20:00:57 +0100 Niels De Graef + + * gst/gstminiobject.c: + * gst/gstminiobject.h: + miniobject: add gst_clear_mini_object() + This is based on g_clear_object(). Basically, you can use this instead + of using gst_mini_object_unref (which needs to be preceded by a NULL-check). + Also fixes #275 + +2018-02-08 17:31:15 +0100 Niels De Graef + + * gst/gstobject.c: + * gst/gstobject.h: + object: add gst_clear_object() + This is based on g_clear_object(). Basically, you can use this instead + of using g_object_unref (which needs to be preceded by a NULL-check). + Fixes #275 + +2018-11-05 11:07:14 +0800 Haihao Xiang + + * .gitmodules: + * gstreamer.doap: + * scripts/create-uninstalled-setup.sh: + Clone the code from gitlab + This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/326 + +2018-11-04 12:45:57 +0200 Sebastian Dröge + + * plugins/elements/gsttypefindelement.c: + typefind: Always forward RECONFIGURE events upstream + Based on a patch by Vincent Penquerc'h + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/67 + +2018-11-03 18:44:48 +0200 Sebastian Dröge + + * gst/gstclock.c: + * gst/gstclock.h: + clock: Move clock weak ref into its own ABI struct + Otherwise it will be hard to add other things into the padding later + without breaking API. + +2018-11-03 18:29:17 +0200 Sebastian Dröge + + * docs/gst/gstreamer-sections.txt: + * gst/gstclock.c: + clock: Add new functions to the documentation + +2018-11-03 18:29:03 +0200 Sebastian Dröge + + * gst/gstclock.c: + * gst/gstclock.h: + clock: Fix deprecation handling of the GstClock clock field + +2016-09-08 08:49:54 -0600 Thomas Bluemel + + * gst/gstclock.c: + * gst/gstclock.h: + * libs/gst/base/gstbasesink.c: + clock: Keep weak reference to underlying clock + Fixes potential segmentation fault when using a GstClockID that + is referencing an already freed GstClock + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/187 + +2018-10-30 15:30:38 +0100 Zeeshan Ali + + * tools/gst-inspect.c: + gst-inspect: Don't page if output fits the screen + +2018-10-30 14:52:15 +0100 Zeeshan Ali + + * tools/gst-inspect.c: + gst-inspect: Flush stdout before closing stdout FD + Otherwise, last line can be lost. + +2018-10-28 15:19:38 +0000 Sebastian Dröge + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/check/Makefile.am: + * libs/gst/check/gstharness.c: + * libs/gst/check/gstharness.h: + harness: Add API for proposing meta APIs from the allocation query + https://bugzilla.gnome.org/show_bug.cgi?id=797350 + +2018-09-20 23:17:52 +1000 Jan Schmidt + + * gst/gstsegment.c: + * tests/check/gst/gstsegment.c: + segment: Allow stop == -1 in gst_segment_to_running_time() and rate < 0 + If a segment has stop == -1, then gst_segment_to_running_time() + would refuse to calculate a running time for negative rates, + but gst_segment_do_seek() allows this scenario and uses a + valid duration for calculations. + Make the 2 functions consistent by using any configured duration + to calculate a running time too in that case. + https://bugzilla.gnome.org/show_bug.cgi?id=796559 + +2018-10-27 13:38:57 +0100 Zeeshan Ali + + * tools/gst-inspect.c: + gst-inspect: Pipe stdout to less if not piped already + https://bugzilla.gnome.org/show_bug.cgi?id=797344 + +2018-10-26 09:21:42 +0100 Sebastian Dröge + + * plugins/elements/gsttypefindelement.c: + typefind: Lower debug level of some output related to the URI query + It's not a warning if an URI doesn't have an extension, and it's also + not mandatory that sources have an URI or even answer the URI query. + +2018-10-16 19:35:03 +0300 Jordan Petridis + + * gst/gstclock.h: + * gst/gstinfo.h: + * gst/gstvalue.h: + gst: skip format specifiers from gir generation + GST_TIME_FORMAT, GST_TIME_ARGS, GST_STIME_FORMAT, GST_STIME_ARGS + GST_PTR_FORMAT, GST_SEGMENT_FORMAT, GST_FOURCC_FORMAT and + GST_FOURCC_ARGS are format specifiers. + They can't be used outside of C and should be generated in the gir. + https://bugzilla.gnome.org/show_bug.cgi?id=797320 + +2018-10-16 19:35:03 +0300 Jordan Petridis + + * gst/gsterror.h: + gst/gsterror.h: skip GST_ERROR_SYSTEM during gir generation + GST_ERROR_SYSTEM can't really be used outside of C and should + be skipped. + https://bugzilla.gnome.org/show_bug.cgi?id=797320 + +2018-10-22 15:26:25 +0200 Edward Hervey + + * plugins/elements/gstmultiqueue.c: + multiqueue: Don't clamp running times for position calculation + Since we use full signed running times, we no longer need to clamp + the buffer time. + This avoids having the position of single queues not advancing for + buffers that are out of segment and never waking up non-linked + streams (resulting in an apparent "deadlock"). + +2018-10-22 13:45:52 +0200 Edward Hervey + + * plugins/elements/gstqueue2.c: + queue2: Reset result flow when retrying + If we ever get a GST_FLOW_EOS from downstream, we might retry + pushing new data. But if pushing that data doesn't return a + GstFlowReturn (such as pushing events), we would end up returning + the previous GstFlowReturn (i.e. EOS). + Not properly resetting it would cause cases where queue2 would + stop pushing on the first GstEvent stored (even if there is more + data contained within). + +2018-10-17 16:38:42 -0400 Olivier Crête + + * tests/check/gst/gstpipeline.c: + tests: Use GstTestClock for processing-deadline test + Use the test clock instead of using a real one to make it + easier to run in valgrind. + https://bugzilla.gnome.org/show_bug.cgi?id=797291 + +2018-10-16 10:48:40 +0100 Tim-Philipp Müller + + * tests/check/gst/gstpipeline.c: + tests: pipeline: fix leak + +2018-10-15 18:47:16 +0300 Sebastian Dröge + + * libs/gst/base/gstqueuearray.c: + queuearray: Only clear dropped item if it is not returned + +2018-10-15 15:24:07 +0300 Sebastian Dröge + + * libs/gst/base/gstqueuearray.c: + queuearray: Clear items when dropping them and a clear function was defined + +2018-10-12 15:34:45 +0100 Philippe Normand + + * docs/gst/gstreamer-sections.txt: + * gst/gstelementfactory.h: + gstelementfactory: Remove MEDIA_HARDWARE FactoryType + Using the MEDIA_ classifier prefix was inappropriate. It is sufficient to + specify the additional klass name that element can set in their metadata. + (follow-up of commit ca4b61c55562a4b74f241fe54cf1e5639a2aea25) + https://bugzilla.gnome.org/show_bug.cgi?id=796921 + +2018-10-05 12:19:46 +0200 Philippe Normand + + * docs/gst/gstreamer-sections.txt: + * gst/gstelementfactory.h: + gstelementfactory: Add MEDIA_HARDWARE klass classifier + The Harware factory type classifier allows elements (decoders and encoders, + mostly) to advertize they rely on hardware devices to perform encoding or + decoding operations. This classifier can be used by applications to filter and + select only the elements that use hardware devices, for instance to ensure + zero-copy support is enabled for a specific pipeline. + https://bugzilla.gnome.org/show_bug.cgi?id=796921 + +2018-10-10 00:00:14 -0700 Aleix Conchillo Flaqué + + * scripts/gst-uninstalled: + gst-uninstalled: add libnice to LD_LIBRARY_PATH + https://bugzilla.gnome.org/show_bug.cgi?id=797269 + +2018-10-11 14:34:40 +1100 Jan Schmidt + + * libs/gst/net/gstptpclock.c: + ptp clock: Wait for ANNOUNCE before selecting a master + Previously, with opportunistic sync we'd track a master + clock as soon as we see a SYNC message, and hence sync up + faster, but then we'd announce we're synched before seeing + the ANNOUNCE, leaving the clock details like grandmaster-clock + empty. + A better way is to start tracking the clock opportunistically, + but not announce we're synched until we've also seen the ANNOUNCE. + +2018-10-11 14:33:35 +1100 Jan Schmidt + + * libs/gst/net/gstptpclock.c: + ptp clock: improve debug + Log message arrival times. Fix a typo in one debug string + +2018-10-11 14:29:47 +1100 Jan Schmidt + + * libs/gst/net/gstptpclock.c: + ptp clock: Increase tolerance for late follow-up and delay-resp + The follow-up and delay-resp messages carry precise + timestamps for the arrival at the clock master, but + the local return time is unimportant, so we should be very + lenient in accepting them late. Some PTP masters don't + prioritise sending those packets, and we reject all the + responses and never sync - or take forever to do so. + Increase the tolerance to 20x the mean path delay. + Also fix a typo in one debug output that would print + the absolute time of the delay-resp message, not the offset + from the delay-req that it's actually being compared against. + +2018-09-18 09:36:45 +1000 Jan Schmidt + + * libs/gst/net/gstptpclock.c: + ptpclock: Add TRACE level debug output + Add some debugging to be able to tell what is happening + inside the PTP clock protocol handling. + +2018-10-07 19:51:41 +0100 Tim-Philipp Müller + + * meson.build: + meson: use new 'python' module instead of deprecated 'python3' one + https://github.com/mesonbuild/meson/pull/4169 + +2018-10-04 00:30:52 +0100 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: document new "min-upstream-latency" property is in nanosecs + https://bugzilla.gnome.org/show_bug.cgi?id=797213 + +2018-10-03 18:23:01 +0200 Thibault Saunier + + * gst/gstprotection.h: + protection: Fix the string to define unspecified system id + Setting it to "unspecified-system-id". + +2018-10-01 12:11:47 +0200 Yacine Bandou + + * docs/gst/gstreamer-sections.txt: + * gst/gstprotection.h: + protection: Add a new definition for unspecified system protection + In some cases the system protection ID is not present in the contents + or in their metadata. + This define is used to set the value of the "system_id" field in GstProtectionEvent, + with this value, the application will use an external information to choose which + protection system to use. + Example: The matroskademux uses this value in the case of encrypted WebM, + the application will choose the appropriate protection system based on the information + received through EME API. + https://bugzilla.gnome.org/show_bug.cgi?id=797231 + +2018-09-27 17:30:25 +0300 Vivia Nikolaidou + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gstqueuearray.c: + * libs/gst/base/gstqueuearray.h: + queuearray: Add set_clear_func and clear functions + gst_queue_array_clear will clear the GstQueueArray, + gst_queue_array_set_clear_func will set a clear function for each + element to be called on _clear and on _free. + https://bugzilla.gnome.org/show_bug.cgi?id=797218 + +2018-09-27 13:20:10 +0200 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: add gtk-doc blurb for new min-upstream-latency prop + +2018-09-27 12:42:30 +0200 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.c: + aggregator: add min-upstream-latency property. + This is exposed as a solution to the use case of plugging in + sources with a higher latency after the aggregator has started + playing with an initial set of sources, allowing to avoid resyncing. + https://bugzilla.gnome.org/show_bug.cgi?id=797213 + +2018-09-20 16:28:35 +0200 Mathieu Duponchelle + + * gst/gstelement.c: + element: remove inactive pad g_warning in add_pad + The documentation incorrectly used to state that the pads were + not automatically activated when added, whereas we actually do + that when appropriate. + Callers of gst_element_add_pad must not hold the object lock, + which implies that they cannot perform the same checks as + add_pad in a non-racy manner. + This updates the documentation, and removes the g_warning + that was output before performing automatic activation. + https://bugzilla.gnome.org/show_bug.cgi?id=797181 + +2018-09-19 19:37:38 +0100 Tim-Philipp Müller + + * libs/gst/check/meson.build: + meson: use library() for libgstcheck instead of always building a shared lib + Otherwise we try to build a shared lib when we build the rest + of GStreamer statically, which won't work because we pass + -DGST_STATIC_COMPILATION when building statically, which means + we won't dllimport public symbols from our libs which means + that on Windows the unit tests will fail to link to libgstcheck. + https://bugzilla.gnome.org/show_bug.cgi?id=797185 + +2018-08-26 01:23:23 +0200 Tim-Philipp Müller + + * tests/misc/Makefile.am: + * tests/misc/meson.build: + * tests/misc/netclock-replay.c: + tests: netclock-replay: fix build with new api export/import + Can't mix/match imports and exports from the same library + here, so just include all .c files needed instead and don't + link to gstnet at all then. + https://bugzilla.gnome.org/show_bug.cgi?id=797185 + +2018-08-25 23:56:01 +0200 Tim-Philipp Müller + + * common: + * configure.ac: + * gst/gstconfig.h.in: + * libs/gst/base/base-prelude.h: + * libs/gst/base/gstdataqueue.c: + * libs/gst/base/gstflowcombiner.c: + * libs/gst/base/gstqueuearray.c: + * libs/gst/check/check-prelude.h: + * libs/gst/check/gstbufferstraw.c: + * libs/gst/check/gstconsistencychecker.c: + * libs/gst/controller/controller-prelude.h: + * libs/gst/controller/gstargbcontrolbinding.c: + * libs/gst/controller/gstdirectcontrolbinding.c: + * libs/gst/controller/gstinterpolationcontrolsource.c: + * libs/gst/controller/gstlfocontrolsource.c: + * libs/gst/controller/gsttimedvaluecontrolsource.c: + * libs/gst/controller/gsttriggercontrolsource.c: + * libs/gst/controller/meson.build: + * libs/gst/net/gstnetaddressmeta.c: + * libs/gst/net/gstnetcontrolmessagemeta.c: + * libs/gst/net/net-prelude.h: + * meson.build: + libs: figure out right export define in configure + Add new GST_API_EXPORT in config.h and use that for GST_*_API + decorators instead of GST_EXPORT. + The right export define depends on the toolchain and whether + we're using -fvisibility=hidden or not, so it's better to set it + to the right thing directly than hard-coding a compiler whitelist + in the public header. + We put the export define into config.h instead of passing it via the + command line to the compiler because it might contain spaces and brackets + and in the autotools scenario we'd have to pass that through multiple + layers of plumbing and Makefile/shell escaping and we're just not going + to be *that* lucky. + The export define is only used if we're compiling our lib, not by external + users of the lib headers, so it's not a problem to put it into config.h + Also, this means all .c files of libs need to include config.h + to get the export marker defined, so fix up a few that didn't + include config.h. + This commit depends on a common submodule commit that makes gst-glib-gen.mak + add an #include "config.h" to generated enum/marshal .c files for the + autotools build. + https://bugzilla.gnome.org/show_bug.cgi?id=797185 + +2018-08-25 23:09:12 +0200 Tim-Philipp Müller + + * gst/Makefile.am: + * gst/gstconfig.h.in: + * gst/meson.build: + * gst/parse/Makefile.am: + * libs/gst/base/Makefile.am: + * libs/gst/base/base-prelude.h: + * libs/gst/base/meson.build: + * libs/gst/check/Makefile.am: + * libs/gst/check/check-prelude.h: + * libs/gst/check/meson.build: + * libs/gst/controller/Makefile.am: + * libs/gst/controller/controller-prelude.h: + * libs/gst/controller/meson.build: + * libs/gst/net/Makefile.am: + * libs/gst/net/meson.build: + * libs/gst/net/net-prelude.h: + libs: fix 'inconsistent DLL linkage' warnings on Windows + For each lib we build export its own API in headers when we're + building it, otherwise import the API from the headers. + This fixes linker warnings on Windows when building with MSVC. + The problem was that we had defined all GST_*_API decorators + unconditionally to GST_EXPORT. This was intentional and only + supposed to be temporary, but caused linker warnings because + we tell the linker that we want to export all symbols even + those from externall DLLs, and when the linker notices that + they were in external DLLS and not present locally it warns. + What we need to do when building each library is: export + the library's own symbols and import all other symbols. To + this end we define e.g. BUILDING_GST_FOO and then we define + the GST_FOO_API decorator either to export or to import + symbols depending on whether BUILDING_GST_FOO is set or not. + That way external users of each library API automatically + get the import. + https://bugzilla.gnome.org/show_bug.cgi?id=797185 + +2018-08-25 22:53:07 +0200 Tim-Philipp Müller + + * gst/gstconfig.h.in: + gstconfig.h: add GST_API_IMPORT define + This is for use by the various GST_*_API decorators and + will be what they get defined to when a library API is being + used by external users of that library (not the library itself + whilst it's being compiled). + In most cases it will simply map to a plain 'extern' but on + Windows with MSVC it will need to map to __declspec(dllimport). + For functions this is not strictly needed, but for exported + variables it is. + https://bugzilla.gnome.org/show_bug.cgi?id=797185 + +2018-09-21 22:26:00 +0900 Seungha Yang + + * meson.build: + meson: Specify encoding to UTF-8 when building with MSVC + Fix build on some non-US locale Windows systems + Error: + gstreamer/gst/gstdebugutils.c(194): error C2001 + https://bugzilla.gnome.org/show_bug.cgi?id=797186 + +2018-09-20 16:22:14 +0200 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.h: + aggregator: define autoptr cleanup functions + +2018-09-19 15:42:06 +0100 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + docs: gst: default to single include also for protection meta API + https://bugzilla.gnome.org/show_bug.cgi?id=797165 + +2018-09-19 15:07:36 +0100 Tim-Philipp Müller + + * docs/libs/gstreamer-libs-sections.txt: + docs: libs: move all includes to canonical single header includes + And fix up bogus libs/ prefix for controller lib includes. + https://bugzilla.gnome.org/show_bug.cgi?id=797165 + +2018-09-18 15:44:24 +0200 Linus Svensson + + * docs/libs/gstreamer-libs-sections.txt: + docs: Update include directive for gstreamer-base components + Change to always include gst/libs/base.h in order to also + include base-prelude.h, but also because it's the right + thing for people to include anyway. + https://bugzilla.gnome.org/show_bug.cgi?id=797165 + +2018-09-19 11:31:43 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + meson: add glib-checks option to disable API guards and such + We want this enabled by default, also in releases, but people + may want to disable this for performance-critical workloads or + on embedded devices. + +2018-09-19 11:25:24 +0100 Tim-Philipp Müller + + * meson_options.txt: + meson: fix missing closing bracket in option descriptions + +2018-09-17 22:13:22 +1000 Jan Schmidt + + * tests/check/gst/gstsegment.c: + tests: Use a different rate in a segment test. + Using a rate of 1.1 in the test is causing the test to + fail on 32-bit because ceil(1.1 * 10) can round to 12. + Instead use a rate 2.0 that can be expressed as floating + point number and doesn't trigger the problem. + https://bugzilla.gnome.org/show_bug.cgi?id=797154 + +2018-09-11 21:32:27 -0400 Nicolas Dufresne + + * plugins/elements/gstfilesink.c: + filesink: Fix wrong printf format + We add a guint64 and a guint, the result is a guint64. On 64bit + architecture, this is the same, but on 32bit architecture, it's not. + https://bugzilla.gnome.org/show_bug.cgi?id=797127 + +2018-09-08 13:05:13 +0100 Philippe Normand + + * gst/gstbin.c: + bin: Fix use-after-free issue in gst_bin_add() + gst_element_post_message() takes ownership of the message so we need to increase + its refcount until we no longer require access to its data (context_type). + https://bugzilla.gnome.org/show_bug.cgi?id=797099 + +2018-09-05 16:32:07 +0530 Nirbheek Chauhan + + * libs/gst/meson.build: + * tests/meson.build: + meson: Always use a dependency object for dependencies + Fixes a configure error with gst-build: + subprojects/gst-plugins-base/meson.build:235:2: ERROR: Fetched variable 'gst_check_dep' in the subproject 'gstreamer' is not a dependency object. + +2018-09-03 12:06:35 +0100 Philippe Normand + + * gst/gstutils.c: + utils: Set default values for position and duration query results + https://bugzilla.gnome.org/show_bug.cgi?id=797066 + +2018-08-30 17:44:07 +0100 Philippe Normand + + * libs/gst/base/gstbaseparse.c: + baseparse: avg_bitrate calculation critical warning fix + The avg_bitrate is an unsigned int, so the gst_util_uin64_scale() function can't + be used for it, as it expects signed integers for the fraction parts arguments. + https://bugzilla.gnome.org/show_bug.cgi?id=797054 + +2018-08-31 12:15:16 +0300 Sebastian Dröge + + * plugins/elements/gstinputselector.c: + input-selector: Bring latency handling in sync with GstPad code + +2018-08-31 12:12:13 +0300 Sebastian Dröge + + * gst/gstpad.c: + Revert "pad: Don't drop LATENCY queries with default implementation" + This reverts commit 794944f779f954375fc74a3fffcc2067bba6a3e5. + Accumulating non-live latency values generally makes no sense and often + gives invalid results with min>max + +2018-08-31 12:12:09 +0300 Sebastian Dröge + + * gst/gstpad.c: + Revert "pad: Accumulate live/non-live latency values separately" + This reverts commit f5783e1cacb09867d81ba089b229faa7dd0edd0c. + +2018-08-29 02:03:28 +0530 Nirbheek Chauhan + + * gst/meson.build: + * libs/gst/base/meson.build: + * libs/gst/check/meson.build: + * libs/gst/controller/meson.build: + * libs/gst/net/meson.build: + * meson.build: + meson: Maintain macOS ABI through dylib versioning + Requires Meson 0.48, but the feature will be ignored on older versions + so it's safe to add it without bumping the requirement. + Documentation: + https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library + +2018-08-31 11:47:03 +0300 Sebastian Dröge + + * plugins/elements/gstinputselector.c: + input-selector: Apply GstPad default latency handler fixes here too + +2018-08-31 11:41:47 +0300 Sebastian Dröge + + * gst/gstpad.c: + pad: Accumulate live/non-live latency values separately + And only ever use the non-live values if all pads are non-live, + otherwise only use the results of all live pads. + It's unclear what one would use the values for in the non-live case, but + by this we at least pass them through correctly then. + This is a follow-up for 794944f779f954375fc74a3fffcc2067bba6a3e5, which + causes wrong latency calculations if the first pad is non-live but a + later pad is actually live. In that case the live values would be + accumulated together with the values of the non-live first pad, + generally causing wrong min/max latencies to be calculated. + +2018-08-29 19:26:04 +0300 Sebastian Dröge + + * plugins/elements/gstconcat.c: + concat: Improve debug output a bit by printing pad names + +2018-08-28 14:22:16 +0300 Sebastian Dröge + + * plugins/elements/gstfilesink.c: + filesink: Flush buffers before directly writing out buffers with the SYNC_AFTER flag + Otherwise we write out the SYNC_AFTER buffer immediately, and the + previously queued up buffers afterwards which then breaks the order of + data. + Also add various debug output. + +2018-08-27 22:32:01 +1000 Jan Schmidt + + * tests/check/gst/gstsegment.c: + gstsegment: Add check for gst_segment_offset_running_time() + Add a check for gst_segment_offset_running_time() that values + are taken directly from the segment base if possible. + +2018-08-23 22:34:47 +1000 Jan Schmidt + + * gst/gstsegment.c: + * tests/check/gst/gstsegment.c: + gstsegment: Handle positions before the segment properly + Fixes for gst_segment_position_from_running_time_full() when + converting running_times that precede the segment start (or + stop in a negative rate segment) + The return value was incorrectly negated in those cases. + Add some more unit test checks for those cases, and especially + for segments with offsets. + +2018-08-26 00:45:45 +0200 Tim-Philipp Müller + + * tests/check/gst/gstmeta.c: + tests: meta: fix msvc compiler warnings + gstmeta.c(167): warning C4090: 'function': different 'const' qualifiers + gstmeta.c(172): warning C4090: 'function': different 'const' qualifiers + gstmeta.c(211): warning C4090: 'function': different 'const' qualifiers + gstmeta.c(216): warning C4090: 'function': different 'const' qualifiers + +2018-08-26 00:34:44 +0200 Tim-Philipp Müller + + * libs/gst/check/check-prelude.h: + * libs/gst/check/gsttestclock.h: + check: testclock: fix deprecation guards + Make our own deprecation marker for libgstcheck, + since the function declaration must contain the + right API export decorator (GST_CHECK_API) and + not the one for GStreamer core. + +2018-08-26 00:16:51 +0200 Tim-Philipp Müller + + * libs/gst/base/gstbitwriter.h: + bitwriter: fix compiler warning + Don't return a value from a function that doesn't + return a value using the returned value from a + function that also doesn't return a value. + gstbitwriter.h(265): warning C4098: 'gst_bit_writer_align_bytes_unchecked': 'void' function returning a value + +2018-08-17 17:24:59 +0300 Sebastian Dröge + + * tests/check/elements/filesink.c: + filesink: Use SYNC_AFTER flag in seeking test + Otherwise it's not guaranteed that buffers are actually on disk after + pushing them, and reading the file via g_file_get_contents() might not + include them yet. + +2018-08-17 17:24:19 +0300 Sebastian Dröge + + * plugins/elements/gstfilesink.c: + filesink: Consider the current buffer size when checking the current position + +2018-08-17 17:23:52 +0300 Sebastian Dröge + + * plugins/elements/gstfilesink.c: + filesink: Reset the current buffer size to NULL and clear the buffer on close and FLUSH_STOP + +2018-08-17 02:54:00 +0530 Nirbheek Chauhan + + * libs/gst/helpers/meson.build: + * meson.build: + meson: host_system is 'ios' when building for iOS + The cross file sets this value, and we use 'ios' in Cerbero. + +2018-08-14 11:28:00 +0300 Sebastian Dröge + + * plugins/elements/gstfilesink.c: + * plugins/elements/gstfilesink.h: + filesink: Implement buffering internally + We use writev() so every call ends up going to the kernel but for small + buffers we generally would prefer to do as few write calls as possible. + https://bugzilla.gnome.org/show_bug.cgi?id=794173 + +2018-08-14 10:58:26 +0300 Sebastian Dröge + + * plugins/elements/gstfilesink.c: + * plugins/elements/gstfilesink.h: + filesink: Remove buffer, deprecate line-buffer mode and don't use fflush() + fflush() has no effect because we use writev() directly, so fsync() + should be used instead which is actually flushing the kernel-side + buffers. + As a next step, a non-line-buffered buffering mode is to be added. + https://bugzilla.gnome.org/show_bug.cgi?id=794173 + +2018-08-14 12:30:19 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Fixup for previous commit to prevent infinite loop if no events are pending + +2018-08-13 14:50:57 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Return an error directly if negotiation of a sink pad failed + And don't give buffers to subclasses in that case. + https://bugzilla.gnome.org/show_bug.cgi?id=796951 + +2018-08-12 22:57:41 +0100 Tim-Philipp Müller + + * Makefile.am: + * win32/MANIFEST: + * win32/README.txt: + * win32/common/libgstbase.def: + * win32/common/libgstcontroller.def: + * win32/common/libgstnet.def: + * win32/common/libgstreamer.def: + win32: remove .def file with exports + They're no longer needed, symbol exporting is now explicit + via GST_*_API export decorators in all cases, that is + autotools and meson, incl. MSVC. + +2018-08-12 19:04:51 +0100 Tim-Philipp Müller + + * configure.ac: + * gst/printf/Makefile.am: + * libs/gst/check/gstcheck.c: + autotools: stop controlling symbol visibility with -export-symbols-regex + Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT. + This should result in consistent behaviour for the autotools and + Meson builds where this is done already, and will allow us to drop + the win32 .def files. + +2018-08-12 20:07:02 +0100 Tim-Philipp Müller + + bitwriter: fix g-i scanner warning + gstbitwriter.h:45: Warning: GstBase: "@bit_capacity" parameter unexpected at this location: + * @bit_capacity: Capacity of the allocated @data + +2018-08-11 18:17:29 +0100 Tim-Philipp Müller + + * libs/gst/check/meson.build: + * meson.build: + * meson_options.txt: + meson: add options to disable gobject cast checks and glib asserts + And match what we do for autotools here currently. + +2018-08-10 09:22:51 +0100 Tim-Philipp Müller + + * meson.build: + meson: define G_DISABLE_DEPRECATED for development versions + Like in autotools. + +2018-08-10 01:23:35 +0100 Tim-Philipp Müller + + * libs/gst/meson.build: + * meson_options.txt: + * pkgconfig/meson.build: + * tests/check/meson.build: + meson: add option to disable build of GStreamer unit test library + +2018-08-10 00:33:58 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + meson: add memory-alignment option + +2018-08-10 00:18:55 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + meson: add option to disable command-line option parsing + +2018-08-10 00:08:43 +0100 Tim-Philipp Müller + + * gst/meson.build: + * gst/parse/meson.build: + * meson_options.txt: + * tests/check/meson.build: + * tools/meson.build: + meson: add option to disable parse-launch pipeline string parser + +2018-08-09 23:32:49 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + * tests/meson.build: + meson: add options to disable tests, examples, benchmarks and tools + And remove duplicate option 'poisoning' and unused 'build_tools' one. + +2018-08-03 13:18:12 +0300 Sebastian Dröge + + * configure.ac: + configure: Enable poisoning by default for non-release builds + +2018-08-03 13:16:21 +0300 Sebastian Dröge + + * gst/gstbufferlist.c: + * gst/gstcaps.c: + * gst/gstcontext.c: + * gst/gstdatetime.c: + * gst/gstevent.c: + * gst/gstmemory.c: + * gst/gstmessage.c: + * gst/gstpromise.c: + * gst/gstquery.c: + * gst/gstsample.c: + * gst/gsttaglist.c: + * gst/gsttoc.c: + * gst/gsturi.c: + gst: Add poisoning to more types + +2018-08-03 10:36:21 +0100 Tim-Philipp Müller + + * meson.build: + meson: fix setting of extra checks option + It's checked for with #ifdef so setting it to 0 or 1 + will always enable it. + +2018-08-03 10:35:07 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + meson: add option to enable poisoning of deallocated objects + +2018-08-02 10:55:40 +0300 Sebastian Dröge + + * libs/gst/base/gsttypefindhelper.c: + typefindhelper: Mark gst_type_find_helper_get_range_full() as Since 1.14.3 + +2018-07-31 19:25:03 +0300 Sebastian Dröge + + * plugins/elements/gstinputselector.c: + inputselector: Forward LATENCY query to all sinkpads + Otherwise downstream will consider the pipeline not live if the active + pad is live, even though some inactive pads might be live and might + require a non-zero latency configuration. + https://bugzilla.gnome.org/show_bug.cgi?id=796901 + +2018-07-31 16:46:25 +0300 Sebastian Dröge + + * gst/gstpad.c: + pad: Update pad offsets on the current event if the offset changed in pad probes + https://bugzilla.gnome.org/show_bug.cgi?id=796898 + +2018-07-30 18:51:35 +0300 Sebastian Dröge + + * gst/gstpad.c: + pad: Ensure that the pad is blocked for IDLE probes if they are called from the streaming thread too + IDLE probes that are directly called when being added will increase / + decrease the "number of IDLE probes running" counter around the call, + but when running from the streaming thread this won't happen. + This has the effect that when running from a streaming thread it is + possible to push serialized events or data out of the pad without + problems, but otherwise it would deadlock because serialized data would + wait for the IDLE probe to finish first (it is blocking after all!). + With this change it will now always consistently deadlock instead of + just every once in a while, which should make it obvious why this + happens and prevent racy deadlocks in application code. + https://bugzilla.gnome.org/show_bug.cgi?id=796895 + +2018-07-30 18:10:31 +0300 Sebastian Dröge + + * libs/gst/base/gsttypefindhelper.c: + * libs/gst/base/gsttypefindhelper.h: + * plugins/elements/gsttypefindelement.c: + * win32/common/libgstbase.def: + typefind: Add new gst_type_find_helper_get_range_full() that returns flow return + And make use of it in the typefind element. It's useful to distinguish + between the different errors why typefinding can fail, and especially to + not consider GST_FLOW_FLUSHING as an actual error. + https://bugzilla.gnome.org/show_bug.cgi?id=796894 + +2018-07-27 23:22:42 +0200 Mathieu Duponchelle + + * libs/gst/base/gstaggregator.h: + aggregator: annotate GstAggregatorClass::update_src_caps + +2018-07-25 07:34:19 +0530 Nirbheek Chauhan + + * meson.build: + * meson_options.txt: + * tests/examples/controller/meson.build: + * tests/examples/streams/meson.build: + * tests/meson.build: + meson: Add feature options for optional deps + Everything should be behind an option now. + https://bugzilla.gnome.org/show_bug.cgi?id=795107 + +2018-07-26 02:31:05 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + aggregator: Don't leak peer pad of inactive pads when (not) forwarding QoS events to them + +2018-07-25 18:51:58 -0400 Nicolas Dufresne + + * meson.build: + meson: Install bash completion helper in prefix + A regression was causing the helpers to be installed in /share which + would lead to permission denied error or PolicyKit to promtp for + permission. See: + 054fa3aa2 meson: Use new define_variable: feature instead of run_command() + +2018-07-25 16:00:28 +0530 Nirbheek Chauhan + + * libs/gst/check/meson.build: + * libs/gst/helpers/meson.build: + * meson.build: + meson: host_machine.system() is darwin even on iOS + Also use host_system everywhere. + +2018-07-25 14:25:07 +0530 Nirbheek Chauhan + + * libs/gst/helpers/meson.build: + * plugins/tracers/meson.build: + * tests/benchmarks/meson.build: + * tools/meson.build: + meson: Don't add static printf library to executables + They should only need to link to libgstreamer. + +2018-07-25 07:30:52 +0530 Nirbheek Chauhan + + * meson.build: + meson: Use new define_variable: feature instead of run_command() + +2018-07-25 07:29:51 +0530 Nirbheek Chauhan + + * meson.build: + meson: Small cleanup, unused variable + +2018-07-25 07:04:11 +0530 Nirbheek Chauhan + + * docs/gst/meson.build: + * docs/libs/meson.build: + * meson.build: + meson: Use copy: true for configure_file() + Fixes a warning. + +2018-07-25 01:12:49 +0300 Sebastian Dröge + + * libs/gst/base/gsttypefindhelper.c: + typefindhelper: Mark extension in gst_type_find_helper_get_range() as allow-none + It always allowed NULL and even said so in the documentation. + +2018-07-24 17:28:45 +0300 Sebastian Dröge + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gsttypefindhelper.c: + * libs/gst/base/gsttypefindhelper.h: + * plugins/elements/gsttypefindelement.c: + * win32/common/libgstbase.def: + typefind: Add _with_extension() variants for typefinding data or a buffer + And make use of that in the typefind element to also be able to make use + of the extension in push mode. It previously only did that in pull mode + and this potentially speeds up typefinding and might also prevent false + positives. + https://bugzilla.gnome.org/show_bug.cgi?id=796865 + +2018-07-24 09:58:31 +0300 Sebastian Dröge + + * gst/gstpadtemplate.c: + * gst/gstparse.c: + * gst/parse/types.h: + gst: Simplify some boolean expressions + (!x || (x && y)) is the same as (!x || y) + https://bugzilla.gnome.org/show_bug.cgi?id=796847 + +2018-07-23 23:17:54 +0300 Sebastian Dröge + + * gst/gstpad.c: + * tests/check/gst/gstpad.c: + Revert "pad: Handle changing sticky events in pad probes" + This reverts commit 11e0f451eb498e92d05d8208f7217625dc62848b. + When pushing a sticky event out of a pad with a pad probe or pad offset, + those should not be applied to the event that is actually stored in the + event but only in the event sent downstream. The pad probe and pad + offsets are conceptually *after* the pad, added by external code and + should not affect any internal state of pads/elements. + Also storing the modified event has the side-effect that a re-sent event + would arrive with any previous modifications done by the same pad probe + again inside that pad probe, and it would have to check if its + modifications are already applied or not. + For sink pads and generally for events arriving in a pad, some further + changes are still needed and those are tracked in + https://bugzilla.gnome.org/show_bug.cgi?id=765049 + In addition, the commit also had a refcounting problem with events, + causing already destroyed events to be stored inside pads. + +2018-07-20 23:51:44 +0200 Mathieu Duponchelle + + * gst/gstbus.c: + bus: add missing (out) annotation to get_poll_fd() + +2018-07-18 21:13:57 -0400 Thibault Saunier + + * libs/gst/base/gstbasetransform.c: + basetransform: Do not check if NULL is an emtpy caps + gst_base_transform_transform_caps can return NULL in various conditions + thus we should not treat its result as valid caps. + In all other places NULL is properly handled. + +2018-07-16 11:51:05 -0400 Olivier Crête + + * libs/gst/base/gstbasesink.c: + sink: Only add processing latency if upstream is live + Only add it if upstream is live, otherwise leave the latency at 0. + https://bugzilla.gnome.org/show_bug.cgi?id=640610 + +2018-07-16 11:50:36 -0400 Olivier Crête + + * tests/check/gst/gstpipeline.c: + pipeline tests: Add test for processing latency + +2018-07-13 08:53:53 -0400 Thibault Saunier + + * tools/gst-inspect.c: + gst-inspect: Sort properties names + Making it simpler to find properties you are looking for when reading. + +2018-07-13 08:52:55 -0400 Thibault Saunier + + * libs/gst/base/gstbasesink.c: + basesink: Minor GI warning fix. + +2018-07-10 08:48:47 +0200 Sebastian Dröge + + * gst/gstsample.c: + sample: Set buffer/caps/buffer-lists to NULL correctly when replacing them with NULL + +2018-06-29 07:16:28 +0200 Sebastian Dröge + + * gst/gstbufferlist.c: + * tests/check/gst/gstbufferlist.c: + bufferlist: Prevent gst_buffer_list_foreach() from modifying non-writeable lists + Previously gst_buffer_list_foreach() could modify (drop or replace) + buffers in non-writable lists, which could cause all kinds of problems + if other code also has a reference to the list and assumes that it stays + the same. + https://bugzilla.gnome.org/show_bug.cgi?id=796692 + +2018-06-29 07:16:28 +0200 Sebastian Dröge + + * tests/check/gst/gstbuffer.c: + buffer: Add test to ensure that memories in a non-writable buffer are not writable + https://bugzilla.gnome.org/show_bug.cgi?id=796692 + +2018-06-28 14:13:39 +0200 Sebastian Dröge + + * tests/check/gst/gstbufferlist.c: + bufferlist: Add test to ensure that buffers in an non-writable list are not writable + https://bugzilla.gnome.org/show_bug.cgi?id=796692 + +2018-07-03 20:07:31 +0300 Sebastian Dröge + + * docs/gst/gstreamer-sections.txt: + * gst/gstbuffer.c: + * gst/gstbufferlist.c: + * gst/gstminiobject.c: + * gst/gstminiobject.h: + * gst/gstsample.c: + * win32/common/libgstreamer.def: + miniobject: Add parent pointers to the miniobject to influence writability + Every container of miniobjects now needs to store itself as parent in + the child object, and remove itself again at a later time. + A miniobject is only writable if there is at most one parent, and that + parent is writable itself, and if the reference count of the miniobject + is 1. + GstBuffer (for memories), GstBufferList (for buffers) and GstSample (for + caps, buffer, bufferlist) was updated accordingly. + Without this it was possible to have e.g. a bufferlist with refcount 2 + in two places, modifying the same buffer with refcount 1 at the same + time. + https://bugzilla.gnome.org/show_bug.cgi?id=796692 + +2018-07-08 20:52:08 -0400 Thibault Saunier + + * libs/gst/check/gstcheck.h: + check: Add a fail_unless_equals_clocktime macro for convenience + +2018-07-07 09:15:58 -0400 Nicolas Dufresne + + * win32/common/libgstbase.def: + base: Add processing deadline API to win32 def + https://bugzilla.gnome.org/show_bug.cgi?id=640610 + +2015-05-04 17:30:17 -0400 Olivier Crête + + * libs/gst/base/gstbasesink.c: + * libs/gst/base/gstbasesink.h: + basesink: Add processing deadline + The processing deadline is the acceptable amount of time to process the media + in a live pipeline before it reaches the sink. This is on top of the algorithmic + latency that is normally reported by the latency query. This should make + pipelines such as "v4lsrc ! xvimagesink" not claim that all frames are late + in the QoS events. Ideally, this should replace max_lateness for most applications. + https://bugzilla.gnome.org/show_bug.cgi?id=640610 + +2018-04-01 16:06:26 +0200 Bastian Köcher + + * gst/meson.build: + * libs/gst/check/meson.build: + * libs/gst/controller/meson.build: + gstreamer: fix install dir for configure files + Nixos installs into a non-standard includedir. + https://bugzilla.gnome.org/show_bug.cgi?id=794856 + +2018-07-04 14:00:35 -0400 Nicolas Dufresne + + * gst/gststructure.c: + structure: Update doc error in ARRAY/LIST helpers + +2018-06-22 15:35:42 +0100 Philippe Normand + + * gst/gstprotection.c: + protection: Release decryptors list, even if it's empty + https://bugzilla.gnome.org/show_bug.cgi?id=796651 + +2018-06-23 17:01:09 +0200 Tim-Philipp Müller + + * gst/gstallocator.c: + * gst/gstbin.c: + * gst/gstbufferpool.c: + * gst/gstbus.c: + * gst/gstclock.c: + * gst/gstcontrolbinding.c: + * gst/gstdevice.c: + * gst/gstdevicemonitor.c: + * gst/gstdeviceprovider.c: + * gst/gstghostpad.c: + * gst/gstpad.c: + * gst/gstpipeline.c: + * gst/gstplugin.c: + * gst/gstregistry.c: + * gst/gststreamcollection.c: + * gst/gststreams.c: + * gst/gstsystemclock.c: + * gst/gsttask.c: + * gst/gsttracer.c: + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstbaseparse.c: + * libs/gst/base/gstbasesink.c: + * libs/gst/base/gstbasesrc.c: + * libs/gst/base/gstbasetransform.c: + * libs/gst/base/gstcollectpads.c: + * libs/gst/base/gstdataqueue.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/gstnettimeprovider.c: + * libs/gst/net/gstptpclock.c: + * tests/check/gst/gstdevice.c: + Update for g_type_class_add_private() deprecation in recent GLib + https://gitlab.gnome.org/GNOME/glib/merge_requests/7 + +2018-06-18 16:29:18 +0200 Edward Hervey + + * plugins/elements/gstconcat.c: + concat: Properly forward the SEGMENT seqnum + +2018-06-11 10:22:39 +0300 Sebastian Dröge + + * gst/gstevent.c: + event: Unset SNAP flags when creating a new seek event without KEY_UNIT flag + The SNAP flags only make sense in combination with the KEY_UNIT flag, + and without they expose all kinds of unexpected behaviour in various + elements that don't expect this from happening. + Also warn if this ever happens. + https://bugzilla.gnome.org/show_bug.cgi?id=796558 + +2018-06-18 09:17:36 +0300 Sebastian Dröge + + * gst/gstevent.c: + event: Require writable events for setting the running-time-offset and sequence number + Otherwise multiple code paths with the same event could change the + values on each other. + https://bugzilla.gnome.org/show_bug.cgi?id=796615 + +2018-03-15 12:43:56 +0100 Guillaume Desmottes + + * gst/gststructure.c: + * tests/check/gst/gststructure.c: + gst_structure_to_string: display actual value of pointers + We used to always display "NULL" which was pretty confusing when + debugging. + https://bugzilla.gnome.org/show_bug.cgi?id=794355 + +2018-06-13 16:27:24 -0400 Thibault Saunier + + * gst/gststreams.c: + stream: Add some missing API safe guards + +2018-06-08 17:58:43 +0100 Tim-Philipp Müller + + * gst/gstpoll.c: + poll: minor docs clarification + 'Not implemented' could be misinterpreted to mean that + the API doesn't even exist there. + +2018-06-08 17:57:01 +0100 Tim-Philipp Müller + + * win32/common/libgstreamer.def: + win32: update for new API + +2018-04-05 12:40:09 +0200 Guillaume Desmottes + + * gst/gstpoll.c: + * gst/gstpoll.h: + poll: add API to watch for POLLPRI + Windows doesn't seem to have an equivalent of POLLPRI so disabled those + functions on this platform. + This API can be used, for example, to wait for video4linux events which + are using POLLPRI. + https://bugzilla.gnome.org/show_bug.cgi?id=794977 + +2018-04-05 12:19:39 +0200 Guillaume Desmottes + + * gst/gstpoll.c: + poll: stop treating on POLLPRI as 'read' + Current code was considering "can read" as having either POLLIN or POLLPRI being + set. + This may lead to client being awaken because of POLLPRI, starting a blocking + read and getting stuck because there is actually nothing to read. + This patch removes POLLPRI handling in read code and I'll add specific + API to wait for POLLPRI. + https://bugzilla.gnome.org/show_bug.cgi?id=794977 + +2018-06-05 17:02:18 +0200 Edward Hervey + + * libs/gst/base/gstbaseparse.c: + baseparse: Ensure seqnum consistency + We need all relevant events of a segment to have consistent seqnum: + * GST_EVENT_SEGMENT + * GST_EVENT_EOS + If we are push-based and create a new segment, use the same seqnum + as the upstream event. + If we are pull-based, use the seqnum of that newly created segment + event everywhere + +2018-06-05 17:01:05 +0200 Edward Hervey + + * gst/gstmessage.c: + message: Only allow setting valid seqnum on messages + If we want to make sure we never end up with invalid seqnum on + messages let's forbid setting them. + +2018-06-05 16:59:50 +0200 Edward Hervey + + * gst/gstevent.c: + event: Only allow setting valid seqnum on events + If we want to make sure we never end up with invalid seqnum on + events let's forbid setting them. + +2018-06-05 16:58:21 +0200 Edward Hervey + + * gst/gstbin.c: + bin: Make sure we don't use invalid seqnums on messages + There is a possibility that the accumlation functions don't set + a seqnum. Make sure we only set/override the seqnum of the new + messages if we *have* a valid upstream seqnum to use + +2018-06-02 14:02:19 +0200 Dimitrios Katsaros + + * plugins/elements/gstqueue2.c: + * plugins/elements/gstqueue2.h: + queue2: use GstQueueArray + When using queue2 as a queue it was using GQueue with + individually allocated queue items, so two allocs for + each item. With GstQueueArray we can avoid those. + https://bugzilla.gnome.org/show_bug.cgi?id=796483 + +2018-06-03 19:37:40 +0200 Mike Wey + + * libs/gst/base/gstdataqueue.c: + dataqueue: add some missing introspection annotations + https://bugzilla.gnome.org/show_bug.cgi?id=796488 + +2018-05-30 14:06:06 +0200 Edward Hervey + + * libs/gst/base/gstbaseparse.c: + * libs/gst/base/gstbaseparse.h: + baseparse: Documentation improvements + * Remove references to old functions and methods + * Use proper #ClassName.vmethod() decorator for vmethod + +2018-05-22 16:30:58 +0200 Thibault Saunier + + * meson.build: + * meson_options.txt: + meson: Add an option to activate extra checks + And activate them by default as with autotools + +2018-05-21 23:10:21 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + meson: rename gtkdoc option to gtk_doc + +2018-05-21 11:37:00 +0200 Edward Hervey + + * gst/gstdatetime.c: + datetime: Update/fix documentation + +2018-05-21 11:36:42 +0200 Edward Hervey + + * docs/gst/gstreamer-sections.txt: + * gst/gstsample.c: + * gst/gstsample.h: + sample: Update documentation + +2018-05-21 11:16:29 +0200 Edward Hervey + + * gst/gstpadtemplate.h: + gst: Add an example to GST_STATIC_PAD_TEMPLATE macro + +2018-05-21 09:14:37 +0200 Mark Nauwelaerts + + * gst/gstmeta.c: + * gst/gstprotection.c: + gst: add some GIR array annotations + +2018-05-20 14:07:15 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + meson: add 'nls' option to disable translations + And enable by default. Was implicitly disabled because + ENABLE_NLS was not defined. + +2018-05-16 23:25:26 +0100 Tim-Philipp Müller + + * win32/common/libgstbase.def: + win32: update for new aggregator API + Fixes make distcheck. + +2018-05-05 10:46:09 +0200 Olivier Crête + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Add get_next_time function for live streams + Add a function to do the right thing for live streams. + https://bugzilla.gnome.org/show_bug.cgi?id=795486 + +2018-05-10 00:05:51 +0300 Sebastian Dröge + + * gst/gstpad.c: + pad: Fix race condition causing the same probe to be called multiple times + Probes were remembering a cookie that was used to check if the probe was + already called this time before the probes list changed. However the + same probes could've been called by another thread in between and thus + gotten a new cookie, and would then be called a second time. + https://bugzilla.gnome.org/show_bug.cgi?id=795987 + +2018-05-04 09:29:22 +0200 Edward Hervey + + * gst/gstregistrybinary.c: + * libs/gst/helpers/gst-ptp-helper.c: + gst: Use memcpy() instead of strncpy() where appropriate + strncpy() is assumed to be for strings so the compiler assumes that + it will need an extra byte for the string-terminaning NULL. + For cases where we know it's actually "binary" data, just copy it + with memcpy. + https://bugzilla.gnome.org/show_bug.cgi?id=795756 + +2018-05-07 10:47:00 +0900 Seungha Yang + + * libs/gst/base/gstbitwriter.h: + bitwriter: Fix build error + Fix implicit-function-declaration warning for meemst and memcpy + gstbitwriter.h:166:3: error: implicit declaration of function ‘memset’ + memset (bitwriter->data + clear_pos, 0, (new_bit_size >> 3) - clear_pos); + ^ + https://bugzilla.gnome.org/show_bug.cgi?id=795867 + +2018-05-07 01:32:14 +1000 Jan Schmidt + + * gst/gstevent.h: + gstevent: Add some FIXME: 2.0 about removing the timestamp + The timestamp field isn't valuable or used well anywhere. We + should remove it for GStreamer 2.0 + https://bugzilla.gnome.org/show_bug.cgi?id=761462 + +2014-03-18 16:01:04 +0200 Sreerenj Balachandran + + * tests/check/Makefile.am: + * tests/check/libs/.gitignore: + * tests/check/libs/bitwriter.c: + * tests/check/meson.build: + bitwriter: Add unit tests + https://bugzilla.gnome.org/show_bug.cgi?id=707543 + +2013-11-12 15:00:51 +0800 Wind Yuan + + * docs/libs/gstreamer-libs-docs.sgml: + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/Makefile.am: + * libs/gst/base/gstbitwriter-docs.h: + * libs/gst/base/gstbitwriter.c: + * libs/gst/base/gstbitwriter.h: + * libs/gst/base/meson.build: + * win32/common/libgstbase.def: + bitwriter: Add a generic bit writer + GstBitWriter provides a bit writer that can write any number of + bits into a memory buffer. It provides functions for writing any + number of bits into 8, 16, 32 and 64 bit variables. + https://bugzilla.gnome.org/show_bug.cgi?id=707543 + +2018-05-05 19:08:09 +0530 Nirbheek Chauhan + + * gst/meson.build: + * libs/gst/helpers/meson.build: + * meson.build: + * meson_options.txt: + * plugins/meson.build: + * plugins/tracers/meson.build: + * tests/check/meson.build: + * tests/meson.build: + meson: Update option names to omit disable_ and with- prefixes + Also yield common options to the outer project (gst-build in our case) + so that they don't have to be set manually. + +2018-05-05 16:16:45 +0200 Tim-Philipp Müller + + * gst/gstbufferlist.c: + * tests/check/gst/gstbufferlist.c: + bufferlist: fix abort due to underflow when creating 0-sized list + gst_buffer_list_new_sized(0) will cause an underflow in a calculation + which then makes it try to allocate huge amounts of memory, which + may lead to aborts. + https://bugzilla.gnome.org/show_bug.cgi?id=795758 + +2018-05-05 12:16:07 +0200 Tim-Philipp Müller + + * scripts/create-uninstalled-setup.sh: + scripts: create-uninstalled-setup: remove dead wiki link, mention gst-build + https://bugzilla.gnome.org/show_bug.cgi?id=795734 + +2018-05-05 11:32:12 +0200 Tim-Philipp Müller + + * libs/gst/base/gstaggregator.c: + aggregator: since marker for new API + Was also backported. + https://bugzilla.gnome.org/show_bug.cgi?id=795332 + +2018-05-04 14:00:21 +0200 Francisco Velazquez + + * gst/gstdebugutils.h: + debugutils: Update configure option in documentation + Update documentation on non existent option `gst-enable-gst-debug'. Instead, + one has to make sure that the `--disable-gst-debug' option was not used when + compiling GStreamer (i.e., `./configure --disable-gst-debug'). + https://bugzilla.gnome.org/show_bug.cgi?id=795801 + +2018-04-27 12:41:58 -0400 luz.paz + + * docs/random/typefind: + * docs/random/wtay/capsnego-cases: + * docs/random/wtay/events2: + * gst/gstelement.c: + * libs/gst/base/gstbasesink.c: + * tests/check/gst/gstpreset.c: + Source code typo fixes + https://bugzilla.gnome.org/show_bug.cgi?id=795610 + +2018-04-27 12:40:31 -0400 luz.paz + + * configure.ac: + * docs/libs/gstreamer-libs-docs.sgml: + * docs/random/TODO-pre-0.9: + * docs/random/autoplug1: + * docs/random/autoplug2: + * docs/random/bbb/streamselection: + * docs/random/caps: + * docs/random/caps2: + * docs/random/company/clocks: + * docs/random/company/gstdata: + * docs/random/company/gstparse: + * docs/random/company/gvadec.txt: + * docs/random/company/tagging: + * docs/random/company/time: + * docs/random/ds/0.9-planning2: + * docs/random/dynpads: + * docs/random/ensonic/distributed.txt: + * docs/random/ensonic/dparams.txt: + * docs/random/ensonic/draft-bufferpools.txt: + * docs/random/ensonic/draft-registry-change-hooks.txt: + * docs/random/ensonic/dynlink.txt: + * docs/random/ensonic/embedded.txt: + * docs/random/ensonic/interfaces.txt: + * docs/random/ensonic/lazycaps.txt: + * docs/random/ensonic/logging.txt: + * docs/random/ensonic/media-device-daemon.txt: + * docs/random/ensonic/profiling.txt: + * docs/random/error: + * docs/random/events: + * docs/random/gdp: + * docs/random/matth/scheduling.txt: + * docs/random/negotiation: + * docs/random/old/ChangeLog.gstreamer: + * docs/random/omega/TODO-0.1.0: + * docs/random/omega/caps2: + * docs/random/omega/plan-generation: + * docs/random/omega/sched-commit1: + * docs/random/omega/sched2: + * docs/random/phonon-gst: + * docs/random/plan-0.11.txt: + * docs/random/plugins: + * docs/random/porting-to-1.0.txt: + * docs/random/queue: + * docs/random/rtp: + * docs/random/thomasvs/0.10: + * docs/random/thomasvs/packaging: + * docs/random/types: + * docs/random/types2: + * docs/random/types3: + * docs/random/uraeus/gstreamer_and_midi.txt: + * docs/random/wtay/CORBA: + * docs/random/wtay/autoplug2: + * docs/random/wtay/caps-negociation: + * docs/random/wtay/capsnego2: + * docs/random/wtay/capsnego2-docs: + * docs/random/wtay/clocking: + * docs/random/wtay/eos2: + * docs/random/wtay/events: + * docs/random/wtay/events3: + * docs/random/wtay/interactivity: + * docs/random/wtay/messages: + * docs/random/wtay/namespaces: + * docs/random/wtay/negotiation3: + * docs/random/wtay/padprobes: + * docs/random/wtay/pipelineinfo: + * docs/random/wtay/plugin_guidelines: + * docs/random/wtay/registry: + * docs/random/wtay/scheduling_ideas: + * docs/random/wtay/threading: + * docs/random/wtay/threads_hilevel: + * docs/random/wtay/timecache: + * gst/gst.c: + * gst/gstbin.c: + * gst/gstcapsfeatures.c: + * gst/gstdebugutils.c: + * gst/gstdebugutils.h: + * gst/gstdevice.h: + * gst/gstdeviceprovider.c: + * gst/gstelement.c: + * gst/gstelement.h: + * gst/gstevent.c: + * gst/gstinfo.h: + * gst/gstmemory.c: + * gst/gstmessage.h: + * gst/gstminiobject.c: + * gst/gstobject.c: + * gst/gstpad.c: + * gst/gstpreset.c: + * gst/gstregistrybinary.c: + * gst/gstregistrychunks.c: + * gst/gstsegment.c: + * gst/gststreams.c: + * gst/gsttaglist.c: + * gst/gsttracerrecord.h: + * gst/gsttracerutils.c: + * gst/gsttypefindfactory.c: + * gst/gsturi.c: + * gst/gstutils.c: + * gst/gstvalue.c: + * gst/parse/grammar.y: + * hooks/pre-commit.hook: + * libs/gst/base/gstbasetransform.c: + * libs/gst/base/gstcollectpads.c: + * libs/gst/base/gstcollectpads.h: + * libs/gst/base/gstflowcombiner.c: + * libs/gst/base/gstindex.c: + * libs/gst/check/gstcheck.h: + * libs/gst/check/gstharness.c: + * libs/gst/check/libcheck/check.h.in: + * libs/gst/check/libcheck/check_impl.h: + * libs/gst/controller/gstinterpolationcontrolsource.c: + * libs/gst/controller/gsttimedvaluecontrolsource.c: + * libs/gst/net/gstptpclock.c: + * plugins/elements/gstcapsfilter.c: + * plugins/elements/gstconcat.c: + * plugins/elements/gstinputselector.c: + * plugins/elements/gstmultiqueue.c: + * plugins/elements/gsttee.c: + * plugins/elements/gsttypefindelement.c: + * plugins/tracers/gstlatency.c: + * scripts/gst-plot-traces.sh: + * tests/check/elements/funnel.c: + * tests/check/elements/selector.c: + * tests/check/elements/streamiddemux.c: + * tests/check/gst/gstbuffer.c: + * tests/check/gst/gstmemory.c: + * tests/check/gst/gstmessage.c: + * tests/check/gst/gstpad.c: + * tests/check/libs/aggregator.c: + * tests/examples/helloworld/helloworld.c: + Fix typos in comments and docs + Found via `codespell` + https://bugzilla.gnome.org/show_bug.cgi?id=795610 + +2018-04-25 19:47:11 +0100 Tim-Philipp Müller + + * win32/common/libgstbase.def: + win32: add new symbol + +2018-04-25 14:30:04 -0400 Olivier Crête + + * libs/gst/base/gstaggregator.c: + aggregator: Improve doc for gst_aggregator_pad_has_buffer + +2018-04-23 11:34:19 -0400 Olivier Crête + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstaggregator.h: + aggregator: Add API to check if a pad has a new buffer + https://bugzilla.gnome.org/show_bug.cgi?id=795332 + +2018-04-25 18:28:00 +0100 Tim-Philipp Müller + + * gst/gstbuffer.c: + buffer: don't over-allocate internal GstMeta items + We would allocate space for two GstMeta structs even though + there is only one in the end (the one in GstMetaItem and in + GstFooMeta overlap). + +2018-03-23 12:48:37 -0400 Xavier Claessens + + * gst/meson.build: + * libs/gst/base/meson.build: + * libs/gst/controller/meson.build: + * libs/gst/net/meson.build: + * meson.build: + * meson_options.txt: + * plugins/elements/meson.build: + Meson: Use library() to build both static and shared libs + Meson supports building both static and shared libraries in a single + library() call. It has the advantage of reusing the same .o objects and + thus avoid double compilation. + https://bugzilla.gnome.org/show_bug.cgi?id=794627 + +2018-04-24 14:37:40 -0400 Xavier Claessens + + * meson.build: + Meson: Fix check for linker args + https://bugzilla.gnome.org/show_bug.cgi?id=795513 + +2018-04-22 19:23:50 +0100 Tim-Philipp Müller + + * pkgconfig/gstreamer-uninstalled.pc.in: + pkgconfig: set pluginsdir to plugins/ sub-directory for uninstalled .pc file + So we don't unnecessarily scan directories that have no plugins + (or try to open libs). Matches how we limit the search space for + plugin modules to gst/ ext/ sys/ subdirs. + +2018-04-20 12:30:24 +0100 Tim-Philipp Müller + + * meson.build: + meson: fix invalid keyword argument warnings + cc.compiles() doesn't have a 'prefix' argument (yet) and the + prefix has already been prepended to the source code snippets. + https://github.com/mesonbuild/meson/issues/2364 + +2018-04-18 11:35:20 -0300 Thibault Saunier + + * gst/gstevent.c: + Revert "docs: Minor fix in event_new_select_streams" + This reverts commit f218917d02760f8f32a35e4e635e23230c47c0c6. + +2018-04-17 20:03:09 -0300 Thibault Saunier + + * gst/gstevent.c: + docs: Minor fix in event_new_select_streams + +2018-04-17 11:24:31 +0100 Tim-Philipp Müller + + * plugins/elements/gstinputselector.c: + * plugins/elements/gstmultiqueue.c: + multiqueue, inputselector: show pad properties in gst-inspect-1.0 + +2018-04-17 11:01:09 +0100 Tim-Philipp Müller + + * plugins/elements/gstinputselector.c: + * plugins/elements/gstoutputselector.c: + inputselector, outputselector: add guards for wrong pads being set as active pads + Catch users wrongly setting foreign pads or wrong pads as + the selector's active pad, which leads to all kinds of + other issues. It's a programming error so handle it just + like we would if we had direct API. + https://bugzilla.gnome.org/show_bug.cgi?id=795309 + +2018-04-17 14:00:20 -0300 Thibault Saunier + + * gst/gstcaps.c: + * gst/gstcaps.h: + caps: Add a macro based variant of gst_caps_copy + This way we do not hit the performance overhead of having the method + not inlined but still can use it from bindings. + +2018-04-16 16:30:27 -0300 Thibault Saunier + + * gst/gstpad.c: + * tests/check/gst/gstpad.c: + pad: Handle changing sticky events in pad probes + In the case where the user sets a new padprobeinfo->data in a probe + where the data is a sticky event, the new sticky event should be automatically + sticked on the probed pad. + https://bugzilla.gnome.org/show_bug.cgi?id=795330 + +2018-04-17 09:33:02 -0300 Thibault Saunier + + * gst/gstinfo.c: + debug: Make PADS debug background blue + Red on red was... suboptimal! + https://bugzilla.gnome.org/show_bug.cgi?id=795330 + +2018-04-17 17:00:53 +0100 Tim-Philipp Müller + + * win32/common/libgstreamer.def: + win32: update defs for new exports + +2018-04-16 16:27:57 -0300 Thibault Saunier + + * libs/gst/check/gstharness.c: + harness: Handle harness->element not being a GstBin + It is totally valid but in gst_harness_find_element we were not + handling that case. + https://bugzilla.gnome.org/show_bug.cgi?id=795308 + +2018-04-04 17:36:57 -0300 Thibault Saunier + + * gst/gstcaps.c: + * gst/gstcaps.h: + gst: Stop inlining gst_caps_copy + This way it gets exposed to bindings through GObject Introspection. + +2018-04-16 10:52:46 +0100 Tim-Philipp Müller + + * README: + * common: + Automatic update of common submodule + From f0c2dc9 to ed78bee + +2018-04-15 00:49:55 +0200 Aurelien Jarno + + * gst/gstconfig.h.in: + gstconfig.h.in: initial RISC-V support + RISC-V supports unaligned accesses, but these might run extremely slowly + depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS + to 0 on this architecture. + https://bugzilla.gnome.org/show_bug.cgi?id=795271 + +2018-04-11 17:16:54 +0200 Mathieu Duponchelle + + * libs/gst/base/gstadapter.c: + adapter: port the buffer list from GSList to GstQueueArray + Significantly reduces the amount of memory allocation operations. + https://bugzilla.gnome.org/show_bug.cgi?id=795167 + +2018-04-11 15:38:36 +0200 Mathieu Duponchelle + + * 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: + API: gst_queue_array_peek_nth + https://bugzilla.gnome.org/show_bug.cgi?id=795157 + +2018-04-11 13:44:33 +0200 Mathieu Duponchelle + + * libs/gst/base/gstqueuearray.c: + gstqueuearray: make find() return a 0-based index + And make the drop() functions expect a 0-based index too, + this addresses a longstanding FIXME. This will not break + backward compatibility, because the drop() functions + were previously only meant to be used with the index + returned by find(). + https://bugzilla.gnome.org/show_bug.cgi?id=795156 + +2018-04-11 00:49:02 +0200 Mathieu Duponchelle + + * docs/gst/gstreamer-sections.txt: + * gst/gstsample.c: + * gst/gstsample.h: + * win32/common/libgstreamer.def: + gstsample: new API + gst_sample_set_buffer + gst_sample_set_caps + gst_sample_set_segment + gst_sample_set_info + gst_sample_is_writable + gst_sample_make_writable + This commit makes it possible to reuse a sample object and avoid + unnecessary memory allocations, for example in appsink. + In addition, writability is now required to set the buffer list. + https://bugzilla.gnome.org/show_bug.cgi?id=795144 + +2018-04-13 20:15:46 +0200 Mark Nauwelaerts + + * libs/gst/base/gstbaseparse.c: + * libs/gst/base/gstbytereader.c: + * libs/gst/base/gstbytewriter.c: + * libs/gst/base/gstcollectpads.c: + * libs/gst/base/gstcollectpads.h: + * libs/gst/base/gsttypefindhelper.c: + * libs/gst/base/gsttypefindhelper.h: + base: fix some GIR annotations + Mostly related to out parameters and their transfer + +2018-03-29 18:59:43 +0200 Mark Nauwelaerts + + * gst/gstbuffer.c: + * gst/gstutils.c: + gst: add some GIR array annotations + +2018-04-13 09:58:05 +0200 Víctor Manuel Jáquez Leal + + * gst/gstdebugutils.c: + debugutils: Add missing parameters documentation + +2018-04-11 19:56:01 +0100 Tim-Philipp Müller + + * gst/gstinfo.c: + gstdebug: fix occasional deadlocks on windows when outputting debug logging + When outputting debug logs on Windows, some sections are protected + with a non-recursive lock. Turns out though that gst_debug_message_get() + might indirectly, via our printf format extensions, call code which + in turn would try to log something when it can't handle something. If + that happens we end up in gst_debug_log_default() again recursively and + try to again take the lock that's already taken, thus deadlocking. + Format the debug message string outside of the critical section + instead to avoid this. + https://bugzilla.gnome.org/show_bug.cgi?id=784382 + +2018-04-09 14:19:19 +0100 Tim-Philipp Müller + + * gst/gsturi.h: + gsturi: include gstconfig.h earlier for GST_API define + +2018-03-27 10:25:46 +0200 Jan Alexander Steffens (heftig) + + * gst/gstinfo.c: + * tests/check/gst/gstinfo.c: + gstinfo: fix debug levels being applied in the wrong order + Remove unneeded reapplication of patterns. Besides being + superfluous (gst_debug_reset_threshold already applies + patterns) it was also wrong and didn't stop checking patterns + after the first match (broken in 67e9d139). + Also fix up unit test which checked for the wrong order. + https://bugzilla.gnome.org/show_bug.cgi?id=794717 + +2018-03-27 10:15:46 +0200 Jan Alexander Steffens (heftig) + + * gst/gstinfo.c: + gstinfo: Simplify gst_debug_reset_threshold() implementation + Replace the while+goto with a for+break and check walk to determine + whether we had a match. Move up the unlock to keep the locked section as + small as possible. + https://bugzilla.gnome.org/show_bug.cgi?id=794717 + +2018-03-27 10:14:27 +0200 Jan Alexander Steffens (heftig) + + * gst/gstinfo.c: + gstinfo: Reduce code duplication around level pattern matching + Move the match, logging and set_threshold to a new function. + The log levels are different, so choose the higher one (LOG). Having two + equivalent messages at two different levels seems like a bad idea + anyway. + https://bugzilla.gnome.org/show_bug.cgi?id=794717 + +2018-03-27 17:16:05 +0100 Tim-Philipp Müller + + * gst/gststreamcollection.c: + streamcollection: embed GQueue into the private struct + +2018-04-02 12:44:15 +0200 Edward Hervey + + * docs/libs/Makefile.am: + * docs/libs/gstreamer-libs-sections.txt: + docs: Update libs documentation + * Make sure all libcheck headers are ignored + * Add all missing symbols + +2018-04-02 12:43:57 +0200 Edward Hervey + + * docs/gst/gstreamer-sections.txt: + docs: Update gst core doc + +2018-04-02 12:42:30 +0200 Edward Hervey + + * gst/gstparamspecs.h: + * gst/gsttracerutils.h: + gst: Documentation fixes + * Fix copy-paste error for GstParamSpecArray documentation + * Use proper field name for tracer utils documentation + +2018-04-02 12:41:48 +0200 Edward Hervey + + * libs/gst/base/gstaggregator.h: + * libs/gst/check/gstcheck.h: + libs: Documentation fixes + * Symbols not properly exposed or wrongly named + +2018-03-29 12:36:11 +1100 Matthew Waters + + * gst/gstbin.c: + bin: fix deep-element-added signal debug log message + Adding the bin to the child element doesn't really make sense. + +2018-03-22 13:00:21 +0000 Tim-Philipp Müller + + * meson.build: + meson: bump meson req for gnome.mkenums_simple() + +2018-03-22 12:18:28 +0000 Tim-Philipp Müller + + * gst/gstenumtypes.c.template: + * gst/gstenumtypes.h.template: + meson: remove no longer needed core enumtypes template files + +2017-07-20 18:12:43 +1000 Alessandro Decina + + * Makefile.am: + * gst/meson.build: + meson: use gnome.mkenums_simple() to generate core enumtypes + +2017-07-20 13:03:55 +1000 Alessandro Decina + + * Makefile.am: + * libs/gst/controller/controller_mkenum.py: + * libs/gst/controller/meson.build: + * meson.build: + meson: use gnome.mkenums_simple() to generate controller enumtypes + +2017-07-19 19:37:02 +1000 Alessandro Decina + + * libs/gst/controller/meson.build: + meson: delete unused variable + +2018-03-21 20:02:50 -0400 Nicolas Dufresne + + * tests/check/gst/gstbufferpool.c: + test: Pool now try to reset the size + As a side effect, buffers are no longer expected to be discarded on + resize. + +2016-11-14 15:35:50 +0100 Petr Kulhavy + + * gst/gstbufferpool.c: + gstbuffer: reset buffer to its original size if intact + Enhance default_reset_buffer() to resize the buffer to its full size if the + memory hasn't changed. This allows to reuse the buffer even if the offset has + changed or the size has shrunk, rather than freeing the buffer. + Change related to: https://bugzilla.gnome.org/show_bug.cgi?id=772841 + +2018-03-21 10:20:14 +0200 Sebastian Dröge + + * libs/gst/net/net.h: + net: Include gstnetcontrolmessagemeta.h in net.h + +2018-03-21 10:13:44 +0200 Sebastian Dröge + + * gst/gstparamspecs.h: + paramspecs: Set g-i annotation values for GST_PARAM_* constants + +2018-03-21 10:11:30 +0200 Sebastian Dröge + + * gst/gstelementfactory.h: + elementfactory: GST_ELEMENT_FACTORY_TYPE_DECODABLE had DECRYPTOR added, update g-i annotation value + +2018-03-20 16:11:01 +0200 Sebastian Dröge + + * gst/gstchildproxy.c: + * gst/parse/grammar.y: + gst: Fix compilation with latest GLib + g_object_ref() forwards the type of its argument nowadays. + ./grammar.y:409:14: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] + gstchildproxy.c:212:7: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] + +2018-03-20 09:02:34 +0000 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-coreelements.xml: + * docs/plugins/inspect/plugin-coretracers.xml: + * meson.build: + Back to development + +=== 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: