summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2020-10-21 14:48:58 +0100
committerTim-Philipp Müller <tim@centricular.com>2020-10-21 14:49:00 +0100
commit2bec35e0804e83e874d2db5ea7f7d440687a5275 (patch)
treec7b81d0be8489a6a58d5c913e583dbc7df3c4adc
parentc202aa749b8b0d9382266c52a6a233816b28e280 (diff)
Release 1.16.31.16.3
-rw-r--r--ChangeLog463
-rw-r--r--NEWS416
-rw-r--r--RELEASE4
-rw-r--r--configure.ac8
-rw-r--r--gst-plugins-good.doap10
-rw-r--r--meson.build2
6 files changed, 840 insertions, 63 deletions
diff --git a/ChangeLog b/ChangeLog
index ad9153367..008ba7488 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,466 @@
+=== release 1.16.3 ===
+
+2020-10-21 14:48:58 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * gst-plugins-good.doap:
+ * meson.build:
+ Release 1.16.3
+
+2020-10-21 14:48:58 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst-plugins-good-plugins.args:
+ * docs/plugins/inspect/plugin-1394.xml:
+ * docs/plugins/inspect/plugin-aasink.xml:
+ * docs/plugins/inspect/plugin-alaw.xml:
+ * docs/plugins/inspect/plugin-alpha.xml:
+ * docs/plugins/inspect/plugin-alphacolor.xml:
+ * docs/plugins/inspect/plugin-apetag.xml:
+ * docs/plugins/inspect/plugin-audiofx.xml:
+ * docs/plugins/inspect/plugin-audioparsers.xml:
+ * docs/plugins/inspect/plugin-auparse.xml:
+ * docs/plugins/inspect/plugin-autodetect.xml:
+ * docs/plugins/inspect/plugin-avi.xml:
+ * docs/plugins/inspect/plugin-cacasink.xml:
+ * docs/plugins/inspect/plugin-cairo.xml:
+ * docs/plugins/inspect/plugin-cutter.xml:
+ * docs/plugins/inspect/plugin-debug.xml:
+ * docs/plugins/inspect/plugin-deinterlace.xml:
+ * docs/plugins/inspect/plugin-dtmf.xml:
+ * docs/plugins/inspect/plugin-dv.xml:
+ * docs/plugins/inspect/plugin-effectv.xml:
+ * docs/plugins/inspect/plugin-equalizer.xml:
+ * docs/plugins/inspect/plugin-flac.xml:
+ * docs/plugins/inspect/plugin-flv.xml:
+ * docs/plugins/inspect/plugin-flxdec.xml:
+ * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+ * docs/plugins/inspect/plugin-goom.xml:
+ * docs/plugins/inspect/plugin-goom2k1.xml:
+ * docs/plugins/inspect/plugin-gtk.xml:
+ * docs/plugins/inspect/plugin-icydemux.xml:
+ * docs/plugins/inspect/plugin-id3demux.xml:
+ * docs/plugins/inspect/plugin-imagefreeze.xml:
+ * docs/plugins/inspect/plugin-interleave.xml:
+ * docs/plugins/inspect/plugin-isomp4.xml:
+ * docs/plugins/inspect/plugin-jack.xml:
+ * docs/plugins/inspect/plugin-jpeg.xml:
+ * docs/plugins/inspect/plugin-lame.xml:
+ * docs/plugins/inspect/plugin-level.xml:
+ * docs/plugins/inspect/plugin-matroska.xml:
+ * docs/plugins/inspect/plugin-mpg123.xml:
+ * docs/plugins/inspect/plugin-mulaw.xml:
+ * docs/plugins/inspect/plugin-multifile.xml:
+ * docs/plugins/inspect/plugin-multipart.xml:
+ * docs/plugins/inspect/plugin-navigationtest.xml:
+ * docs/plugins/inspect/plugin-oss4.xml:
+ * docs/plugins/inspect/plugin-ossaudio.xml:
+ * docs/plugins/inspect/plugin-png.xml:
+ * docs/plugins/inspect/plugin-pulseaudio.xml:
+ * docs/plugins/inspect/plugin-qmlgl.xml:
+ * docs/plugins/inspect/plugin-replaygain.xml:
+ * docs/plugins/inspect/plugin-rtp.xml:
+ * docs/plugins/inspect/plugin-rtpmanager.xml:
+ * docs/plugins/inspect/plugin-rtsp.xml:
+ * docs/plugins/inspect/plugin-shapewipe.xml:
+ * docs/plugins/inspect/plugin-shout2.xml:
+ * docs/plugins/inspect/plugin-smpte.xml:
+ * docs/plugins/inspect/plugin-soup.xml:
+ * docs/plugins/inspect/plugin-spectrum.xml:
+ * docs/plugins/inspect/plugin-speex.xml:
+ * docs/plugins/inspect/plugin-taglib.xml:
+ * docs/plugins/inspect/plugin-twolame.xml:
+ * docs/plugins/inspect/plugin-udp.xml:
+ * docs/plugins/inspect/plugin-video4linux2.xml:
+ * docs/plugins/inspect/plugin-videobox.xml:
+ * docs/plugins/inspect/plugin-videocrop.xml:
+ * docs/plugins/inspect/plugin-videofilter.xml:
+ * docs/plugins/inspect/plugin-videomixer.xml:
+ * docs/plugins/inspect/plugin-vpx.xml:
+ * docs/plugins/inspect/plugin-wavenc.xml:
+ * docs/plugins/inspect/plugin-wavpack.xml:
+ * docs/plugins/inspect/plugin-wavparse.xml:
+ * docs/plugins/inspect/plugin-ximagesrc.xml:
+ * docs/plugins/inspect/plugin-y4menc.xml:
+ Update docs
+
+2020-10-21 14:48:56 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/sk.po:
+ * po/sr.po:
+ * po/zh_TW.po:
+ Update translations
+
+2020-10-20 15:10:00 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * README:
+ * common:
+ Automatic update of common submodule
+ From 59cb678 to a825d27
+
+2020-09-28 00:53:48 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ * gst/rtpmanager/rtpjitterbuffer.c:
+ * gst/rtpmanager/rtpjitterbuffer.h:
+ rtpjitterbuffer: fix item freeing for 1.16 branch
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/739>
+
+2020-04-22 14:09:37 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/rtpjitterbuffer.c:
+ * gst/rtpmanager/rtpjitterbuffer.h:
+ rtpjitterbuffer: Properly free internal packets queue in finalize()
+ As we override the GLib item with our own structure, we cannot use any
+ function from GList or GQueue that would try to free the RTPJitterBufferItem.
+ In this patch, we move away from g_queue_new() which forces using
+ g_queue_free(). This this function could use g_slice_free() if there is any items
+ left in the queue. Passing the wrong size to GSLice may cause data corruption
+ and crash.
+ A better approach would be to use a proper intrusive linked list
+ implementation but that's left as an exercise for the next person
+ running into crashes caused by this.
+ Be ware that this regression was introduced 6 years ago in the following
+ commit [0], the call to flush() looked useless, as there was a g_queue_free()
+ afterward.
+ Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
+ [0] https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/479c7642fd953edf1291a0ed4a3d53618418019c
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/739>
+
+2020-04-15 12:36:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: Increase internal bitstream pool size
+ This patch will now set the maximum of buffers to 32, allowing to grow the
+ pool for drivers that supports that and will respect the minimum buffers
+ reported by the driver. This was made to fix a stall with the virtio CODEC
+ driver.
+ Fixes #672
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/738>
+
+2020-06-16 19:34:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Don't return TRUE for unhandled query
+ Expected return value for unhandled query is FALSE
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/752>
+
+2020-04-08 09:45:17 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Avoid stack overflow recursing waiting for response
+ Instead of recursing, simply implement a loop with gotos, the same
+ way it was done before 812175288769d647ed6388755aed386378d9210c
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/710
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/751>
+
+2019-12-19 23:48:09 +0100 Havard Graff <havard.graff@gmail.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ * tests/check/elements/rtpbin.c:
+ rtpbin: fix shutdown crash in rtpbin
+ The key is to make sure the jitterbuffer is set to NULL *before* the
+ ptdemux.
+ The race that existed would basically happen when ptdemux had reached
+ READY, and the jitterbuffer would then push a buffer, triggering a new
+ pad with a new payloadtype being added and ghosted to the rtpbin itself.
+ However, the srcpad of the ptdemux would now be inactive, and all the
+ sticky-event pushed on it would be swallowed, not allowing any to reach
+ the ghost-pad. Then the buffer in-flight would come to the ghostpad,
+ and we would assert that a buffer arrived before the necessary
+ events.
+ By simply re-ordering the state-changes, we ensure that there will be
+ no buffer racing into the ptdemux while its state is being changed,
+ and the problem disappears completely.
+ Notice also that there is not point in disconnecting the signals on the
+ ptdemux before this point, since we need the push-thread to settle
+ down before we can do this in a non-racy way.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/443>
+
+2020-09-10 11:24:32 +0200 Jérôme Laheurte <jlaheurte@quividi.net>
+
+ * ext/jpeg/gstjpegdec.c:
+ jpegdec: check buffer size before dereferencing. Fixes #541
+ Some cameras (Panacast) have buggy drivers/firmware which send
+ invalid JPEG frames, containing no data, which makes jpegdec
+ crash because it assumes the frame is at least 2 bytes long.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/750>
+
+2020-07-14 14:24:20 +0100 Justin Chadwell <justin.chadwell@pexip.com>
+
+ * gst/isomp4/qtdemux.c:
+ * tests/check/elements/qtdemux.c:
+ qtdemux: fix allocation explosion with stsd entries
+ Previously, the user input for stsd entries is trusted completely, and
+ so a maliciously crafted file could choose the length of the stsd
+ entries arbitrarily and cause qtdemux to try to allocate up to 2GB of
+ memory (half of a 32 bit max int).
+ This patch fixes this by sanity checking the stsd input against the
+ size of the entire stsd atom.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/749>
+
+2020-07-13 10:37:19 +0100 Justin Chadwell <justin.chadwell@pexip.com>
+
+ * gst/isomp4/qtdemux.c:
+ * tests/check/elements/qtdemux.c:
+ qtdemux: fix crashes when input stream contained no stsd entries
+ During trak parsing, we need to check for the existence of stsd_entries,
+ otherwise, we end up with a NULL pointer to them. It is entirely
+ possible for the stsd to exist, but for it to have no entries, which the
+ previous checks did not take into account.
+ This patch adds a simply check to ensure that all files that do not
+ contain a stsd entry are deemed corrupt, and adds a test case to prevent
+ a regression.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/749>
+
+2020-07-02 09:15:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/flac/gstflacenc.c:
+ flacenc: Pass audio info from set_format() to query_total_samples() explicitly
+ This fixes writing of the seek table header.
+ gst_audio_encoder_get_audio_info() will still return old/unset audio
+ info until set_format() has actually returned, which then results in
+ query_total_samples() to always return 0.
+ Thanks to Jacob Kauffmann for debugging this and finding the main cause.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/756
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/748>
+
+2020-06-15 13:05:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * ext/pulse/pulsedeviceprovider.c:
+ pulse: fix discovery of newly added devices
+ Fix regression introduced in 7bc5e28d85992b03e5852879b8d4d96043496caf
+ preventing the device provider to send the device-added message for new
+ devices.
+ By early returning the patch was discarding add/remove events.
+ Fix #735
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/747>
+
+2020-06-11 20:39:33 +0300 Jordan Petridis <jpetridis@gnome.org>
+
+ * gst/isomp4/gstqtmux.c:
+ * sys/v4l2/gstv4l2videodec.c:
+ Use gst_element_class_set_metadata when passing dynamic strings
+ gst_element_class_set_metadata is meant to only be used with
+ static or inlined strings, which isn't the case for the 2 elements
+ here resulting in use-after-free later on.
+ https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c#gst_element_class_set_static_metadata
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/746>
+
+2020-05-29 00:45:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/speex/gstspeexdec.c:
+ * ext/speex/gstspeexenc.c:
+ speex: Fix crash on Windows caused by cross-CRT issue
+ Use speex_header_free() to free memory which was allocated by
+ library. Cross-CRT issue should not happen on 1.17 Cerbero build
+ but might happen custom build or so.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/745>
+
+2020-05-27 22:33:31 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.h:
+ rtspsrc: Use the correct type for storing the max-rtcp-rtp-time-diff property
+ It's an integer property and rtpbin also expects an integer. Passing it
+ as a GstClockTime (guint64) to g_object_set() will cause problems, and
+ on big endian MIPS apparently causes crashes.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/737
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/744>
+
+2020-05-25 20:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Error out when failling to receive message response
+ And let it rety twice.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/717
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/743>
+
+2020-05-07 01:17:25 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/deinterlace/gstdeinterlace.c:
+ deinterlace: Force renegotiation when changing mode
+ Switching the deinterlacing mode on-the-fly from disabled to
+ auto used to work, but was broken by commit #1f21747c some
+ years ago.
+ Force re-negotiation with downstream when the mode or
+ fields properties are changed, otherwise deinterlace
+ never switches out of the passthrough mode.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/742>
+
+2020-05-05 15:19:49 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/multifile/gstsplitmuxsrc.c:
+ slitmuxsrc: Properly stop the loop if not part reader is present
+ Previously this would end up in a refcounting loop of hell.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/741>
+
+2020-04-22 15:32:31 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/isomp4/fourcc.h:
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Add 'mp3 ' fourcc that VLC seems to produce now
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/740>
+
+2019-04-24 02:38:32 +0900 okuoku <mjt@cltn.org>
+
+ * ext/jack/gstjackaudiosink.c:
+ * ext/jack/gstjackaudiosrc.c:
+ jack: Use jack_free(3) to release ports
+ Port objects acquired with jack_get_ports() need to be freed with
+ jack_free(3), not stdlib free().
+ On Windows, Jack may be linked against different libc than GStreamer
+ libraries so free()ing port objects directly might cause crash because
+ of libc mismatch.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/737>
+
+2020-02-29 08:10:56 -0500 Jennifer Berringer <berringerjennifer@gmail.com>
+
+ * gst/audioparsers/gstflacparse.c:
+ flacparse: fix broken reordering of flac metadata
+ Each FLAC metadata block starts with a flag denoting whether it is the
+ last metadata block. The existing flacparse code moves any existing
+ VORBISCOMMENT block to immediately follow the STREAMINFO block without
+ changing any block's last-metadata-block flag. If no VORBISCOMMENT block
+ exists, it created one with the last-metadata-block flag set to true.
+ This results in gstflacdec sometimes giving bad headers to libflac when
+ trying to play perfectly valid FLAC files depending on the file's
+ metadata ordering. Depending on the contents of the other metadata
+ blocks, current versions of libflac may or may not return
+ FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER when given this broken
+ metadata. This is most noticeable with files that have a large cover art
+ image attached where VORBISCOMMENT is the very last metadata block with
+ no PADDING afterwards.
+ This patch changes that behavior so that:
+ 1. For FLAC files that already have a VORBISCOMMENT block, the metadata
+ order is preserved.
+ 2. For FLAC files that do not have a VORBISCOMMENT block, the generated
+ dummy VORBISCOMMENT is placed immediately after STREAMINFO and
+ inherits the last-metadata-block flag from STREAMINFO.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/484
+
+2020-03-27 19:24:03 +0100 Nicolas Pernas Maradei <nicopernas@gmail.com>
+
+ * gst/rtpmanager/gstrtpsession.c:
+ rtpsession: rename RTCP thread
+ RTP session starts a new thread for RTCP and names it
+ "rtpsession-rtcp-thread" which happens to be longer than the maximum 16B
+ allowed by pthread_setname_np and causes the naming to fail.
+ See docs for more details.
+ This commit simply shortens the thread's name so it can actually be set.
+
+2020-03-12 16:55:44 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/elements/rtp-payloading.c:
+ tests: rtp-payloading: add minimal vp8/vp9 rtp payloading/depayloading test
+
+2018-10-19 16:17:17 +0200 Stian Selnes <stian@pexip.com>
+
+ * gst/rtp/gstrtpvp8pay.c:
+ * gst/rtp/gstrtpvp9pay.c:
+ rtpvp8pay, rtpvp9pay: fix caps leak in set_caps()
+
+2020-03-12 11:22:56 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/videomixer/videomixer2.c:
+ videomixer: Don't leak peer caps
+
+2020-02-07 10:03:49 +0100 Alexander Lapajne <alexander.lapajne@axis.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Fix for segmentation fault when handling set/get_parameter requests
+ gstrtspsrc uses a queue, set_get_param_q, to store set param and get
+ param requests. The requests are put on the queue by calling
+ get_parameters() and set_parameter(). A thread which executs in
+ gst_rtspsrc_thread() then pops requests from the queue and processes
+ them. The crash occured because the queue became empty and a NULL
+ request object was then used. The reason that the queue became empty
+ is that it was popped even when the thread was NOT processing a get
+ parameter or set parameter command. The fix is to make sure that the
+ queue is ONLY popped when the command being processed is a set
+ parameter or get parameter command.
+
+2020-02-05 12:48:45 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2: map GST_VIDEO_FORMAT_BGR15
+ The GstVideoFormat to v4l2 conversion was missing for BGR15.
+
+2020-02-05 12:00:00 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2: fix crash on invalid caps
+ gst_v4l2_object_set_format_full() was returning FALSE without setting
+ an error. Caller code (gst_v4l2src_fixate()) was then derefing a
+ NULL pointer when trying to handle the error.
+
+2020-01-27 15:17:27 -0800 Julien Isorce <jisorce@oblong.com>
+
+ * ext/vpx/gstvpxenc.c:
+ vp8enc/vp8enc: set 1 for the default value of VP8E_SET_STATIC_THRESHOLD
+ In Google webrtc, the setting VP8E_SET_STATIC_THRESHOLD is set to 1
+ (except when the content is known to be static very often in which
+ case it is set to 100, i.e. when sharing screen with Google Hangouts).
+ The cpu usage drops a lot when using 1 for above setting because it
+ allows the encoder to skip static/low content blocks. The current
+ 0 default value uses too much cpu and confuses the user regarding
+ the cpu usage expectations. User expects vp8enc to use low cpu by
+ default.
+ Documentation of VP8E_SET_STATIC_THRESHOLD:
+ https://github.com/webmproject/libvpx/blob/master/vpx/vp8cx.h#L188
+ chromium/webrtc:
+ https://chromium.googlesource.com/external/webrtc/+/b484ec0082948ae086c2ba4142b4d2bf8bc4dd4b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc#822
+ Closes #58
+
+2020-01-27 17:16:02 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/jpeg/gstjpegdec.c:
+ jpegdec: Check return value of gst_buffer_map()
+ Without this check, the element will crash instead of returning an
+ error.
+
+2020-01-13 20:07:01 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/wavenc/gstwavenc.c:
+ wavenc: Fix writing of the channel mask with >2 channels
+ The channel position is an enum but the conversion code assumed it's a
+ mask. Convert accordingly.
+
+2020-01-03 15:16:02 +0100 Daniel Molkentin <daniel@molkentin.de>
+
+ * gst/videocrop/gstvideocrop.c:
+ videocrop: allow properties to be animated by GstController
+
+2019-12-04 01:03:49 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/rtp/gstrtpjpegdepay.c:
+ rtpjpegdepay: outputs framed jpeg
+ Add parsed=true to output caps, as we always output
+ whole frames, timestamped and all. Means also that
+ the output can be decoded by avdec_mjpeg wihout
+ plugging an extra parser (which has no rank).
+
+2019-09-03 16:46:30 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/isomp4/qtdemux.c:
+ * gst/isomp4/qtdemux.h:
+ qtdemux: Specify REDIRECT information in error message
+ There are in the wild (mp4) streams that basically contain no tracks
+ but do have a redirect info[0], in which case, we won't be able
+ to expose any pad (there are no tracks) so we can't post anything but
+ an error on the bus, as:
+ - it can't send EOS downstream, it has no pad,
+ - posting an EOS message will be useless as PAUSED state can't be
+ reached and there is no sink in the pipeline meaning GstBin will
+ simply ignore it
+ The approach here is to to add details to the ERROR message with a
+ `redirect-location` field which elements like playbin handle and use right
+ away.
+ [0]: http://movietrailers.apple.com/movies/paramount/terminator-dark-fate/terminator-dark-fate-trailer-2_480p.mov
+
=== release 1.16.2 ===
2019-12-03 11:06:36 +0000 Tim-Philipp Müller <tim@centricular.com>
diff --git a/NEWS b/NEWS
index 98dc512e6..f8214ab96 100644
--- a/NEWS
+++ b/NEWS
@@ -1,18 +1,17 @@
-
-
-GSTREAMER 1.16 RELEASE NOTES
-
+GStreamer 1.16 Release Notes
GStreamer 1.16.0 was originally released on 19 April 2019.
-The latest bug-fix release in the 1.16 series is 1.16.2 and was released
-on 3 December 2019.
+The latest bug-fix release in the 1.16 series is 1.16.3 and was released
+on 21 October 2020.
+
+1.16.3 will likely be the last release in the 1.16 release series which
+has now been superseded by the 1.18 release series.
See https://gstreamer.freedesktop.org/releases/1.16/ for the latest
version of this document.
-_Last updated: Tuesday 03 December 2019, 08:00 UTC (log)_
-
+Last updated: Tuesday 20 October 2020, 00:30 UTC (log)
Introduction
@@ -23,7 +22,6 @@ framework!
As always, this release is again packed with many new features, bug
fixes and other improvements.
-
Highlights
- GStreamer WebRTC stack gained support for data channels for
@@ -78,7 +76,6 @@ Highlights
- Many performance improvements
-
Major new features and changes
Noteworthy new API
@@ -519,7 +516,6 @@ The following plugins have been removed from gst-plugins-bad:
these in our cerbero-built Windows packages, so it’s unlikely that
they’ll be missed.
-
Miscellaneous API additions
- GstBitwriter: new generic bit writer API to complement the existing
@@ -611,7 +607,6 @@ Miscellaneous API additions
for the Rate-Control and Frames RTSP headers was added to the RTSP
library.
-
Miscellaneous performance and memory optimisations
As always there have been many performance and memory usage improvements
@@ -649,7 +644,6 @@ GstPlayer
- API was added to fine-tune the synchronisation offset between
subtitles and video
-
Miscellaneous changes
- As a result of moving to newer FFmpeg APIs, encoder and decoder
@@ -689,22 +683,22 @@ OpenGL integration
performance optimization to not require performing multiple
expensive glGet*() function calls per frame. This affects any
application or plugin use of the following functions and objects:
+
- glcolorconvert library object (not the element)
- glviewconvert library object (not the element)
- gst_gl_framebuffer_draw_to_texture()
- custom GstGLWindow implementations
-
Tracing framework and debugging improvements
-- There is now a GDB PRETTY PRINTER FOR VARIOUS GSTREAMER TYPES: For
+- There is now a gdb pretty printer for various 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].
-- GDB EXTENSION WITH TWO CUSTOM GDB COMMANDS gst-dot AND gst-print:
+- gdb extension with two custom gdb commands gst-dot and gst-print:
- gst-dot creates dot files that a very close to what
GST_DEBUG_BIN_TO_DOT_FILE() produces, but object properties and
@@ -721,7 +715,6 @@ Tracing framework and debugging improvements
objects. Such object pointer values will never be deserialised
however.
-
Tools
- gst-inspect-1.0 has coloured output now and will automatically use a
@@ -731,7 +724,6 @@ Tools
them by setting the GST_INSPECT_NO_COLORS=1 environment variable or
passing the --no-color command line option.
-
GStreamer RTSP server
- Improved backlog handling when using TCP interleaved for data
@@ -752,7 +744,6 @@ GStreamer RTSP server
- rtsp-auth: Add support for parsing .htdigest files
-
GStreamer VAAPI
- Support Wayland’s display for context sharing, so the application
@@ -785,7 +776,6 @@ GStreamer VAAPI
- More specification adherence in H264 and H265 encoders.
-
GStreamer OMX
- Add support of NV16 format to video encoders input.
@@ -803,12 +793,12 @@ GStreamer OMX
inform OMX about it rather than doing a full format reset.
- Various Zynq UltraScale+ specific improvements:
+
- Video encoders are now able to import dmabuf from upstream.
- Support for HEVC range extension profiles and more AVC profiles.
- We can now request video encoders to generate an IDR using the
force key unit event.
-
GStreamer Editing Services and NLE
- Added a gesdemux element, it is an auto pluggable element that
@@ -857,10 +847,9 @@ GStreamer Editing Services and NLE
- Deprecate ges_timeline_load_from_uri as loading the timeline should
be done through a project now
-- MANY leaks have been plugged and the unit testsuite is now “leak
+- Many leaks have been plugged and the unit testsuite is now “leak
free”
-
GStreamer validate
- Added an action type to verify the checksum of the sink last-sample
@@ -917,7 +906,6 @@ GStreamer validate
- Add a way to output html log files
-
GStreamer Python Bindings
- add binding for gst_pad_set_caps()
@@ -927,12 +915,10 @@ GStreamer Python Bindings
- new audiotestsrc, audioplot, and mixer plugin examples, and a
dynamic pipeline example
-
GStreamer C# Bindings
- bindings for the GstWebRTC library
-
GStreamer Rust Bindings
The GStreamer Rust bindings are now officially part of the GStreamer
@@ -948,7 +934,7 @@ generally taken by Rust projects, e.g.:
1) 0.12.X will be completely API compatible with all other 0.12.Y
versions.
2) 0.12.X+1 will contain bugfixes and compatible new feature additions.
-3) 0.13.0 will _not_ be backwards compatible with 0.12.X but projects
+3) 0.13.0 will not be backwards compatible with 0.12.X but projects
will be able to stay at 0.12.X without any problems as long as they
don’t need newer features.
@@ -980,16 +966,23 @@ Fixed
Added
- Bindings for GStreamer Editing Services
+
- Bindings for GStreamer Check testing library
+
- Bindings for the encoding profile API (encodebin)
- VideoFrame, VideoInfo, AudioInfo, StructureRef implements Send and
Sync now
+
- VideoFrame has a function to get the raw FFI pointer
+
- From impls from the Error/Success enums to the combined enums like
FlowReturn
+
- Bin-to-dot file functions were added to the Bin trait
+
- gst_base::Adapter implements SendUnique now
+
- More complete bindings for the gst_video::VideoOverlay interface,
especially
gst_video::is_video_overlay_prepare_window_handle_message()
@@ -1015,9 +1008,12 @@ Added
Take a look at the gst-plugins-rs crate for various examples.
- Bindings for CapsFeatures and Meta
+
- Bindings for
ParentBufferMeta,VideoMetaandVideoOverlayCompositionMeta`
+
- Bindings for VideoOverlayComposition and VideoOverlayRectangle
+
- Bindings for VideoTimeCode
- UniqueFlowCombiner and UniqueAdapter wrappers that make use of the
@@ -1025,28 +1021,34 @@ Added
way, and as a side-effect implement Sync and Send now
- More complete bindings for Allocation Query
+
- pbutils functions for codec descriptions
+
- TagList::iter() for iterating over all tags while getting a single
value per tag. The old ::iter_tag_list() function was renamed to
::iter_generic() and still provides access to each value for a tag
+
- Bus::iter() and Bus::iter_timed() iterators around the corresponding
::pop\*() functions
- serde serialization of Value can also handle Buffer now
- Extensive comments to all examples with explanations
+
- Transmuxing example showing how to use typefind, multiqueue and
dynamic pads
+
- basic-tutorial-12 was ported and added
Changed
- Rust 1.31 is the minimum supported Rust version now
+
- Update to latest gir code generator and glib bindings
- Functions returning e.g. gst::FlowReturn or other “combined” enums
were changed to return split enums like
- Result<gst::FlowSuccess, gst::FlowError> to allow usage of the
+ Result<gst::FlowSuccess, gst::FlowError> to allow usage of the
standard Rust error handling.
- MiniObject subclasses are now newtype wrappers around the underlying
@@ -1062,7 +1064,6 @@ Changed
- Various clippy warnings
-
GStreamer Rust Plugins
Like the GStreamer Rust bindings, the Rust plugins are now officially
@@ -1114,20 +1115,23 @@ Changes in git master for 0.4
- togglerecord: Switch to parking_lot crate for mutexes/condition
variables for lower overhead
+
- Merge threadshare plugin here
+
- New closedcaption plugin with mccparse and mccenc elements
+
- New identity element for the tutorials plugin
- Register plugins statically in tests instead of relying on the
plugin loader to find the shared library in a specific place
- Update to the latest API changes in the GLib and GStreamer bindings
-- Update to the latest versions of all crates
+- Update to the latest versions of all crates
Build and Dependencies
-- The MESON BUILD SYSTEM BUILD IS NOW FEATURE-COMPLETE (*) and it is
+- The Meson build system build is now feature-complete (*) and it is
now the recommended build system on all platforms and also used by
Cerbero to build GStreamer on all platforms. The Autotools build is
scheduled to be removed in the next cycle. Developers who currently
@@ -1153,7 +1157,7 @@ Build and Dependencies
that it is no longer possible to build this module against an older
system-provided FFmpeg 3.x version. Use the internal FFmpeg 4.x copy
instead if you build using autotools, or use gst-libav 1.14.x
- instead which targets the FFmpeg 3.x API and _should_ work fine in
+ instead which targets the FFmpeg 3.x API and should work fine in
combination with a newer GStreamer. It’s difficult for us to support
both old and new FFmpeg APIs at the same time, apologies for any
inconvenience caused.
@@ -1236,7 +1240,6 @@ Cerbero has seen a number of improvements:
- A new -t / --timestamp command line switch makes commands print
timestamps
-
Platform-specific changes and improvements
Android
@@ -1297,7 +1300,6 @@ Windows
- dshowsrc now implements the GstDeviceMonitor interface
-
Contributors
Aaron Boxer, Aleix Conchillo Flaqué, Alessandro Decina, Alexandru Băluț,
@@ -1349,7 +1351,6 @@ Yeongjin Jeong, Yuji Kuwabara, Zeeshan Ali,
… and many others who have contributed bug reports, translations, sent
suggestions or helped testing.
-
Stable 1.16 branch
After the 1.16.0 release there will be several 1.16.x bug-fix releases
@@ -1367,8 +1368,8 @@ the git 1.16 branch, which is a stable branch.
The first 1.16 bug-fix release (1.16.1) was released on 23 September
2019.
-This release only contains bugfixes and it _should_ be safe to update
-from 1.16.0.
+This release only contains bugfixes and it should be safe to update from
+1.16.0.
Highlighted bugfixes in 1.16.1
@@ -1704,15 +1705,14 @@ List of merge requests and issues fixed in 1.16.1
The second 1.16 bug-fix release (1.16.2) was released on 03 December
2019.
-This release only contains bugfixes and it _should_ be safe to update
-from 1.16.1.
+This release only contains bugfixes and it should be safe to update from
+1.16.1.
Highlighted bugfixes in 1.16.2
- Interlaced video scaling fixes
- CineForm video support in AVI
-- audioresample: avoid glitches due to rounding errors after changing
- rate
+- audiorate: avoid glitches due to rounding errors after changing rate
- Command line tool output printing improvements on Windows
- various performance improvements, memory leak fixes and security
fixes
@@ -1875,6 +1875,319 @@ List of merge requests and issues fixed in 1.16.2
- List of Merge Requests applied in 1.16
- List of Issues fixed in 1.16.2
+1.16.3
+
+The third (and likely last) 1.16 bug-fix release (1.16.3) was released
+on 20 October 2020.
+
+This release only contains bugfixes and it should be safe to update from
+1.16.2.
+
+Highlighted bugfixes in 1.16.3
+
+- important security fixes
+- bug fixes, memory leak fixes and various stability and reliability
+ improvements
+
+gstreamer
+
+- delay creation of threadpools
+- bin: Fix deep-element-removed log message
+- buffer: fix meta sequence number fallback on rpi
+- bufferlist: foreach: always remove as parent if buffer is changed
+- bus: Make setting/replacing/clearing the sync handler thread-safe
+- elementfactory: Fix missing features in case a feature moves to
+ another filename
+- element: When removing a ghost pad also unset its target
+- meta: intern registered impl string
+- registry: Use a toolchain-specific registry file on Windows
+- systemclock: Invalid internal time calculation causes non-increasing
+ clock time on Windows
+- value: don’t write to const char *
+- value: Fix segfault comparing empty GValueArrays
+- Revert floating enforcing
+- aggregator: fix iteration direction in skip_buffers
+- sparsefile: fix possible crash when seeking
+- baseparse: cache fix
+- baseparse: fix memory leak when subclass skips whole input buffer
+- baseparse: Set the private duration before posting a
+ duration-changed message
+- basetransform: allow not passthrough if generate_output is
+ implemented
+- identity: Fix a minor leak using meta_str
+- queue: protect against lost wakeups for iterm_del condition
+- queue2: Avoid races when posting buffering messages
+- queue2: Fix missing/dropped buffering messages at startup
+- identity: Unblock condition variable on FLUSH_START
+- check: Use g_thread_yield() instead of g_usleep(1)
+- tests: use cpu_family for arch checks
+- gst-launch: Follow up to missing s/g_print/gst_print/g
+- gst-inspect: Add define guard for g_log_writer_supports_color()
+- gst-launch: go back down to GST_STATE_NULL in one step.
+- device-monitor: list hidden providers before listing devices
+
+gst-plugins-base
+
+- audioaggregator: Check all downstream allowed caps structures if
+ they support the upstream rate
+- audioaggregator: Fix negotiation with downstream if there is no peer
+ yet
+- audioencoder: fix segment event leak
+- discoverer: Fix caps handling in pad-added signal handler
+- discoverer: Start discovering next URI from right thread
+- fft: Update our kiss fft version, fixes thread-safety and
+ concurrency issues and misc other things
+- gl: numerous memory fixes (use-after-free, leaks, missing NULL-ify)
+- gl/display/egl: ensure debug category is initialized
+- gstglwindow_x11: fix resize
+- pbutils: Add latest H.264 level values
+- rtpbuffer: fix header extension length validation
+- video: Fix NV12_64Z32 number of component
+- video-format: RGB16/15 are not 16 bit per component but only 5.333
+ and 5
+- video: fix top/bottom field flags
+- videodecoder: don’t copy interlace-mode from reference state
+- appsrc/appsink: Make setting/replacing callbacks thread-safe
+- compositor: Fix checkerboard filling for BGRx/RGBx and
+ UYVY/YUY2/YVYU
+- decodebin3: only force streams-selected seqnum after a
+ select-streams
+- glupload: Fix fallback from direct dmabuf to dmabuf upload method
+- glvideomixer: perform _get_highest_precision() on the GL thread
+- libvisual: use gst_element_class_set_metadata() when passing dynamic
+ strings
+- oggstream: Workaround for broken PAR in VP8 BOS
+- subparse: accept WebVTT timestamps without an hour component
+- playbin: Handle error message with redirection indication
+- textrender: Fix AYUV output.
+- typefind: Consider MPEG-PS PSM to be a PES type
+- uridecodebin3: default to non-0 buffer-size and buffer-duration,
+ otherwise it could potentially cause big memory allocations over
+ time
+- videoaggregator: Don’t configure NULL chroma-site/colorimetry
+- videorate/videoscale/audioresample: Ensure that the caps returned
+ from…
+- build: Replace bashisms in configure for Wayland and GLES3
+
+gst-plugins-good
+
+- deinterlace: on-the-fly renegotiation
+- flacenc: Pass audio info from set_format() to query_total_samples()
+ explicitly
+- flacparse: fix broken reordering of flac metadata
+- jack: Use jack_free(3) to release ports
+- jpegdec: check buffer size before dereferencing
+- pulse: fix discovery of newly added devices
+- qtdemux fuzzing fixes
+- qtdemux: Add ‘mp3’ fourcc that VLC seems to produce now
+- qtdemux: Specify REDIRECT information in error message
+- rtpbin: fix shutdown crash in rtpbin
+- rtpsession: rename RTCP thread
+- rtpvp8pay, rtpvp9pay: fix caps leak in set_caps()
+- rtpjpegdepay: outputs framed jpeg
+- rtpjitterbuffer: Properly free internal packets queue in finalize()
+- rtspsrc: Don’t return TRUE for unhandled query
+- rtspsrc: Avoid stack overflow recursing waiting for response
+- rtspsrc: Use the correct type for storing the max-rtcp-rtp-time-diff
+ property
+- rtspsrc: Error out when failling to receive message response
+- rtspsrc: Fix for segmentation fault when handling set/get_parameter
+ requests
+- speex: Fix crash on Windows caused by cross-CRT issue
+- speexdec: Crash when stopping the pipeline
+- splitmuxsrc: Properly stop the loop if no part reader is present
+- use gst_element_class_set_metadata when passing dynamic strings
+- v4l2videodec: Increase internal bitstream pool size
+- v4l2: fix crash when handling unsupported video format
+- videocrop: allow properties to be animated by GstController
+- videomixer: Don’t leak peer caps
+- vp8enc/vp8enc: set 1 for the default value of
+ VP8E_SET_STATIC_THRESHOLD
+- wavenc: Fix writing of the channel mask with >2 channels
+
+gst-plugins-bad
+
+- amcvideodec: fix sync meta copying not taking a reference
+- audiobuffersplit: Perform discont tracking on running time
+- audiobuffersplit: Specify in the template caps that only interleaved
+ audio is supported
+- audiobuffersplit: Unset DISCONT flag if not discontinuous
+- autoconvert: Fix lock-less exchange or free condition
+- autoconvert: fix compiler warnings with g_atomic on recent GLib
+ versions
+- avfvideosrc: element requests camera permissions even with
+ capture-screen property is true
+- codecparsers: h264parser: guard against ref_pic_markings overflow
+- dtlsconnection: Avoid segmentation fault when no srtp capabilities
+ are negotiated
+- dtls/connection: fix EOF handling with openssl 1.1.1e
+- fdkaacdec: add support for mpegversion=2
+- hls: Check nettle version to ensure AES128 support
+- ipcpipeline: Rework compiler checks
+- interlace: Increment phase_index before checking if we’re at the end
+ of the phase
+- lv2: Make it build with -fno-common
+- h264parser: Do not allocate too large size of memory for registered
+ user data SEI
+- ladspa: fix unbounded integer properties
+- modplug: avoid division by zero
+- msdkdec: Fix GstMsdkContext leak
+- msdkenc: fix leaks on windows
+- musepackdec: Don’t fail all queries if no sample rate is known yet
+- openslessink: Allow openslessink to handle 48kHz streams.
+- opencv: allow compilation against 4.2.x
+- proxysink: event_function needs to handle the event when it is
+ disconnecetd from proxysrc
+- vulkan: Drop use of VK_RESULT_BEGIN_RANGE
+- wasapi: added missing lock release in case of error in
+ gst_wasapi_xxx_reset
+- wasapi: Fix possible deadlock while downwards state change
+- waylandsink: Clear window when pipeline is stopped
+- webrtc: Support non-trickle ICE candidates in the SDP
+- webrtc: Unmap all non-binary buffers received via the datachannel
+- meson: build with neon 0.31
+
+gst-plugins-ugly
+
+- x264enc: corrected em_data value in CEA-708 CC SEI message
+
+gst-libav
+
+- avaudenc/avvidenc: Reopen encoding session if it’s required
+- avauddec/audenc/videnc: Don’t return GST_FLOW_EOS when draining
+- avauddec/avviddec: Avoid dropping non-OK flow return
+- avviddec: Limit default number of decoder threads
+- avauddec: fix buffer leak when send packet failed
+- Ensure drain even if codec has not delay capabilities
+
+gst-rtsp-server
+
+- rtsp-stream: explicitly set caps on udpsrc elements
+- rtsp-stream: use mcast_udpsink[0] last-sample if available for
+ rtpinfo
+- rtspclientsink: Set async-handling=false for the internal bins
+- rtsp-auth: Fix NULL pointer dereference when handling an invalid
+ basic Authorization header
+- rtsp-latency-bin: replace G_TYPE_INSTANCE_GET_PRIVATE as it’s been
+ deprecated
+- rtsp-auth: fix default token leak
+
+gstreamer-vaapi
+
+- display: drm: use g_strcmp0 to be null safe
+- vaapipluginutil: Use GST_VAAPI_DISPLAY_TYPE_DRM for Mesa3D GBM
+- vaapivideobufferpool: force video meta if sizes are different
+- Fix negotiate lock
+- decoder: h265: parser state after update dependent slice
+- h265enc: Set VA_PICTURE_HEVC_INVALID flag for invalid picture
+- vaapivideobufferpool: Log messages in proper category.
+- vaapih264enc: fix log message
+- display: fix a resource leak in X11 pixmap format.
+- decoder: h264, h265: fix g_return_val_if_fail() missuse
+- utils: guard the VAEntrypointFEI symbol
+- h265dec: remove limitation of get iq matrix
+- videopool: fix undocumented behavior and counting
+- Remove last negotiated video info if caps are the same
+- encoder: increase bitrate prop max value
+- misc backports into 1.16
+
+gstreamer-sharp
+
+- Bind gst_buffer_new_wrapped() manually
+- Declare GstVideoOverlayComposition/Rectangle as opaque type and
+ subclasses of Gst.MiniObject
+- Fix gst_promise_new_with_change_func
+
+gst-python
+
+- Add exampleTransform.py from the master branch, modified to work on
+ 1.16
+- Fix build with Python 3.8 by also checking for python-3.X-embed.pc
+
+gst-editing-services
+
+- ges-launch fixes: enhance error message when no clip duration is
+ set, avoid setting invalid clip duration
+
+gst-integration-testsuites
+
+- Yesterday.flac.media_info: Update for changed flacparse behavior
+- flow-expectations: Rename colon to short dash
+
+gst-build
+
+- subprojects: ffmpeg: bump to 4.1.5
+- git-update: Use –force when checking out manifest
+- gst-env: Use meson-uninstalled pkgconfig files if available
+- Fixate wrap versions in 1.16
+- Update android cross file
+- Use gstreamer mirror as primary source for win-nasm and
+ win-flex-bison
+- fetch wrap patches from github
+- env: preprend gst-build/prefix/etc/xdg to XDG_CONFIG_DIRS
+- Backport various gst uninstalled bug fixes into 1.16
+- gst-env: Automatically set the prompt for zsh too
+- gst-env: Don’t put helper binaries in PATH
+- fish: ignore SIGINT and set prompt correctly
+
+Cerbero build tool and packaging changes in 1.16.3
+
+- meson: Ensure large file support for MinGW build
+- ci: Temporarily change remote and branch for ci template
+- cerbero: Run download tool outside of the build env
+- cache: Re-implememt cache on top of our external storage
+- cerbero: Ship plugin .pc files for all modules
+- cerbero: Define a custom user agent while downloading
+- Fix for fetching tags using git
+- Fix gettext download error and improve download failure exception
+ usability
+- cerbero: Disable debian packaging for now
+- Fix misc windows bugs, and explicitly enable GL sub-options
+- Prepend $CERBERO_PREFIX/lib path in LD_LIBRARY_PATH
+- meson.recipe: Ignore programs in the WindowsApps directory
+- meson.recipe: Write out DLL/EXE checksums with MSVC
+- gst-plugins-bad: We can build ipcpipeline on Windows
+- Fix Python 3.8 compat on Windows
+- Fix malformed gendef output on x86
+- utils: fix python 3.8 compatibility on linux
+- Use the new artifact server for 1.16 too
+- GnuTLS: patch to handle certificate chain expiration
+- fontconfig: Fix EXC_BAD_ACCESS crash on iOS ARM64
+- glib: fix G_GNUC_INTERNAL on macOS/iOS
+- gnutls: Update to 3.5.19
+- nettle: add -std=c99 to CFLAGS
+- openh264: fix recipe for text relocation issues on Android >= 5.0
+ x86 builds
+- openssl: Don’t build/package for native linux
+- x264: Use relative paths in pkgconfig file
+- Backport various commits into 1.16 for the 1.16.3 release
+
+Contributors to 1.16.3
+
+Alexander Lapajne, Alicia Boya García, Andrew Wesie, Camilo Celis
+Guzman, Carlos Rafael Giani, Chris Lord, Chris Mayo, Christoph Reiter,
+Daniel Molkentin, David Bender, Debarshi Ray, dhilshad, Dimitrios
+Katsaros, Dmitry Shusharin, Edward Hervey, François Laignel, Guillaume
+Desmottes, Guillermo Rodríguez, Haihao Xiang, Havard Graff, He Junyan,
+Jan Alexander Steffens (heftig), Jan Schmidt, Jennifer Berringer, Jérôme
+Laheurte, Jonas Holmberg, Jonathan Matthew, Jordan Petridis, Jose
+Quaresma, Julien Isorce, Justin Chadwell, Levente Révész, Matej Knopp,
+Mathieu Duponchelle, Matthew Read, Matthew Waters, Matus Gajdos, Michael
+Olbrich, Miguel Paris, Nicola Murino, Nicolas Dufresne, Nicolas Pernas
+Maradei, Nirbheek Chauhan, okuoku, Olivier Crête, Ondřej Hruška,
+Philippe Normand, Roman Shpuntov, Sebastian Dröge, Seungha Yang, Silvio
+Lazzeretti, Stéphane Cerveau, Stian Selnes, Thibault Saunier,
+Tim-Philipp Müller, U. Artie Eoff, Víctor Manuel Jáquez Leal, Wangfei,
+Wang Zhanjun, Will Miller, worldofpeace, Xu Guangxin, Yeongjin Jeong,
+Zebediah Figura,
+
+… and many others who have contributed bug reports, translations, sent
+suggestions or helped testing. Thank you all!
+
+List of merge requests and issues fixed in 1.16.3
+
+- List of Merge Requests applied in 1.16.3
+- List of Issues fixed in 1.16.3
Known Issues
@@ -1890,24 +2203,15 @@ Known Issues
g_io_gnutls_load(gpointer data). See Android/iOS sections above for
further details.
-
Schedule for 1.18
-Our next major feature release will be 1.18, and 1.17 will be the
-unstable development version leading up to the stable 1.18 release. The
-development of 1.17/1.18 will happen in the git master branch.
-
-The plan for the 1.18 development cycle is yet to be confirmed, but it
-is now expected that feature freeze will take place in December 2019,
-with the first 1.18 stable release ready in late January or February.
-
-1.18 will be backwards-compatible to the stable 1.16, 1.14, 1.12, 1.10,
-1.8, 1.6, 1.4, 1.2 and 1.0 release series.
+GStreamer 1.18.0 was released on 8 September 2020: GStreamer 1.18
+release notes
------------------------------------------------------------------------
-_These release notes have been prepared by Tim-Philipp Müller with_
-_contributions from Sebastian Dröge, Guillaume Desmottes, Matthew
-Waters, _ _Thibault Saunier, and Víctor Manuel Jáquez Leal._
+These release notes have been prepared by Tim-Philipp Müller with
+contributions from Sebastian Dröge, Guillaume Desmottes, Matthew Waters,
+Thibault Saunier, and Víctor Manuel Jáquez Leal.
-_License: CC BY-SA 4.0_
+License: CC BY-SA 4.0
diff --git a/RELEASE b/RELEASE
index e6d67760f..2fb8cf049 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-good 1.16.2.
+This is GStreamer gst-plugins-good 1.16.3.
The GStreamer team is pleased to announce another bug-fix release in the
stable 1.x API series of your favourite cross-platform multimedia framework!
@@ -7,7 +7,7 @@ The 1.16 release series adds new features on top of the 1.14 series and is
part of the API and ABI-stable 1.x release series of the GStreamer multimedia
framework.
-Full release notes will one day be found at:
+Full release notes can be found at:
https://gstreamer.freedesktop.org/releases/1.16/
diff --git a/configure.ac b/configure.ac
index 56a09e846..cb9e60ac4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file
dnl initialize autoconf
dnl releases only do -Wall, git and prerelease does -Werror too
dnl use a three digit version number for releases, and four for git/pre
-AC_INIT([GStreamer Good Plug-ins],[1.16.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
+AC_INIT([GStreamer Good Plug-ins],[1.16.3],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
AG_GST_INIT
@@ -46,11 +46,11 @@ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
[GStreamer API Version])
AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 1602, 0, 1602)
+AS_LIBTOOL(GST, 1603, 0, 1603)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.16.2
-GSTPB_REQ=1.16.2
+GST_REQ=1.16.3
+GSTPB_REQ=1.16.3
dnl *** autotools stuff ****
diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap
index c267c07a5..2b1bd851a 100644
--- a/gst-plugins-good.doap
+++ b/gst-plugins-good.doap
@@ -34,6 +34,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library).
<release>
<Version>
+ <revision>1.16.3</revision>
+ <branch>1.16</branch>
+ <name></name>
+ <created>2020-10-21</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.16.3.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.16.2</revision>
<branch>1.16</branch>
<name></name>
diff --git a/meson.build b/meson.build
index 3a422ce84..d0850d95b 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('gst-plugins-good', 'c',
- version : '1.16.2',
+ version : '1.16.3',
meson_version : '>= 0.47',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])