diff options
authorTim-Philipp Müller <>2020-10-21 14:50:23 +0100
committerTim-Philipp Müller <>2020-10-21 14:50:23 +0100
commitf25c41970a54590e9f6fc82406aeda377864f8d8 (patch)
parentdd006a6c11d1e076d743be1daf7e1f84cb939a70 (diff)
6 files changed, 433 insertions, 63 deletions
diff --git a/ChangeLog b/ChangeLog
index 4d41d97d..c2e06457 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,59 @@
+=== release 1.16.3 ===
+2020-10-21 14:50:23 +0100 Tim-Philipp Müller <>
+ * ChangeLog:
+ * NEWS:
+ *
+ * gst-plugins-ugly.doap:
+ *
+ Release 1.16.3
+2020-10-21 14:50:23 +0100 Tim-Philipp Müller <>
+ * docs/plugins/inspect/plugin-a52dec.xml:
+ * docs/plugins/inspect/plugin-amrnb.xml:
+ * docs/plugins/inspect/plugin-amrwbdec.xml:
+ * docs/plugins/inspect/plugin-asf.xml:
+ * docs/plugins/inspect/plugin-cdio.xml:
+ * docs/plugins/inspect/plugin-dvdlpcmdec.xml:
+ * docs/plugins/inspect/plugin-dvdread.xml:
+ * docs/plugins/inspect/plugin-dvdsub.xml:
+ * docs/plugins/inspect/plugin-mpeg2dec.xml:
+ * docs/plugins/inspect/plugin-realmedia.xml:
+ * docs/plugins/inspect/plugin-sid.xml:
+ * docs/plugins/inspect/plugin-x264.xml:
+ * docs/plugins/inspect/plugin-xingmux.xml:
+ Update docs
+2020-10-21 14:50:21 +0100 Tim-Philipp Müller <>
+ * po/pt_BR.po:
+ * po/ro.po:
+ Update translations
+2020-10-20 15:10:07 +0100 Tim-Philipp Müller <>
+ * common:
+ Automatic update of common submodule
+ From 59cb678 to a825d27
+2019-12-14 18:49:54 +0700 Dmitry Shusharin <>
+ * ext/x264/gstx264enc.c:
+ x264enc: fixed codestyle
+2019-12-14 17:15:21 +0700 Dmitry Shusharin <>
+ * ext/x264/gstx264enc.c:
+ x264enc: corrected em_data value in CEA-708 CC SEI message (fixes #28)
+ Section 4.4 of CEA-708-D specification (table 2) requires all bits to be
+ set inside em_data field. h264parse element (and possible third-party
+ decoders such as libav) also follows this requirement.
=== release 1.16.2 ===
2019-12-03 11:07:52 +0000 Tim-Philipp Müller <>
diff --git a/NEWS b/NEWS
index 98dc512e..f8214ab9 100644
--- a/NEWS
+++ b/NEWS
@@ -1,18 +1,17 @@
+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 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)
@@ -23,7 +22,6 @@ framework!
As always, this release is again packed with many new features, bug
fixes and other improvements.
- 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
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
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:
- 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
- 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
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
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
- 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
- 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,
@@ -1015,9 +1008,12 @@ Added
Take a look at the gst-plugins-rs crate for various examples.
- Bindings for CapsFeatures and Meta
- Bindings for
- 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
- 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
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
Platform-specific changes and improvements
@@ -1297,7 +1300,6 @@ Windows
- dshowsrc now implements the GstDeviceMonitor interface
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
-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
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
-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
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
@@ -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
+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
+Highlighted bugfixes in 1.16.3
+- important security fixes
+- bug fixes, memory leak fixes and various stability and reliability
+ improvements
+- 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
+- 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
+- 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
+- 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
+- wavenc: Fix writing of the channel mask with >2 channels
+- 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
+- x264enc: corrected em_data value in CEA-708 CC SEI message
+- 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
+- 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
+- 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
+- Bind gst_buffer_new_wrapped() manually
+- Declare GstVideoOverlayComposition/Rectangle as opaque type and
+ subclasses of Gst.MiniObject
+- Fix gst_promise_new_with_change_func
+- Add 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
+- ges-launch fixes: enhance error message when no clip duration is
+ set, avoid setting invalid clip duration
+- Yesterday.flac.media_info: Update for changed flacparse behavior
+- flow-expectations: Rename colon to short dash
+- 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 3ad845dd..63fcb143 100644
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-ugly 1.16.2.
+This is GStreamer gst-plugins-ugly 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
-Full release notes will one day be found at:
+Full release notes can be found at:
diff --git a/ b/
index 9fc8f39f..278fa830 100644
--- a/
+++ b/
@@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file
dnl initialize autoconf
dnl releases only do -Wall, cvs and prerelease does -Werror too
dnl use a three digit version number for releases, and four for cvs/prerelease
-AC_INIT([GStreamer Ugly Plug-ins],[1.16.2],[],[gst-plugins-ugly])
+AC_INIT([GStreamer Ugly Plug-ins],[1.16.3],[],[gst-plugins-ugly])
@@ -42,11 +42,11 @@ AC_SUBST(GST_API_VERSION)
[GStreamer API Version])
-AS_LIBTOOL(GST, 1602, 0, 1602)
+AS_LIBTOOL(GST, 1603, 0, 1603)
dnl *** required versions of GStreamer stuff ***
dnl *** autotools stuff ****
diff --git a/gst-plugins-ugly.doap b/gst-plugins-ugly.doap
index 6524ce69..ab228e1d 100644
--- a/gst-plugins-ugly.doap
+++ b/gst-plugins-ugly.doap
@@ -35,6 +35,16 @@ might be widely known to present patent problems.
+ <revision>1.16.3</revision>
+ <branch>1.16</branch>
+ <name></name>
+ <created>2020-10-21</created>
+ <file-release rdf:resource="" />
+ </Version>
+ </release>
+ <release>
+ <Version>
diff --git a/ b/
index e69282ad..359f96f9 100644
--- a/
+++ b/
@@ -1,5 +1,5 @@
project('gst-plugins-ugly', 'c',
- version : '1.16.2',
+ version : '1.16.3',
meson_version : '>= 0.47',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])