The GStreamer team is proud to announce a new major feature release of your favourite cross-platform multimedia framework!
The 1.14 release series adds new features on top of the previous 1.12 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework.
Highlights:
WebRTC support: real-time audio/video streaming to and from web browsers
Experimental support for the next-gen royalty-free AV1 video codec
Video4Linux: encoding support, stable element names and faster device probing
Support for the Secure Reliable Transport (SRT) video streaming protocol
RTP Forward Error Correction (FEC) support (ULPFEC)
RTSP 2.0 support in rtspsrc and gst-rtsp-server
ONVIF audio backchannel support in gst-rtsp-server and rtspsrc
playbin3 gapless playback and pre-buffering support
tee, our stream splitter/duplication element, now does allocation query aggregation which is important for efficient data handling and zero-copy
QuickTime muxer has a new prefill recording mode that allows file import in Adobe Premiere and FinalCut Pro while the file is still being written.
rtpjitterbuffer fast-start mode and timestamp offset adjustment smoothing
souphttpsrc connection sharing, which allows for connection reuse, cookie sharing, etc.
nvdec: new plugin for hardware-accelerated video decoding using the NVIDIA NVDEC API
Adaptive DASH trick play support
ipcpipeline: new plugin that allows splitting a pipeline across multiple processes
Major gobject-introspection annotation improvements for large parts of the library API
GStreamer C# bindings have been revived and seen many updates and fixes
The externally-maintained GStreamer Rust bindings have many usability improvements and cover most of the API now
Bugs fixed in 1.12.5:
pad: fix some stream deactivation deadlocks/races
registrychunks: don't read from unaligned memory when loading registry
ptp: fix build failure with #undef USE_MEASUREMENT_FILTERING
downloadbuffer: Don't hold the mutex while posting the download-complete message
playbin3: Fix accessing invalid index in GstStream when received select-stream event
id3v2: re-fix handling of ID3 v2.4 tags with extended headers
audio: fix handling of U32BE format
videodecoder: Reset QoS time after pushing segment. This fixes playbin gapless playback with videos.
subparse: push out of last chunk of text if last line has no newline
aacparse: When parsing raw input, accept frames of any size. This fixes handling of encoded silence.
splitmuxsrc: Improve not-linked handling.
rtspsrc: also proxy multicast-iface property to RTCP udpsrc
flacdec: flush flac decoder on lost sync, so that it can re-sync.
matroskamux: Only mark new clusters as keyframe if they start on a keyframe or we're muxing only audio
matroskamux: Clip maximum cluster duration to the maximum possible value
h264parse: reset internal 'state' variable properly
x264enc: fix build with newer x264 with support for multiple bit depths
x265enc: Fix tagging of keyframes on output buffers
glimagesink: Correct PAR in output caps when transforming
vtdec: destroy and create the GL context on start()/stop(), fixing a refcount loop
player: fix criticals when reading info/track properties that are NULL
lv2: fix inverted boolean properties
rtponviftimestamp: fix state change function init/reset, fixing memory corruption or leaks on shutdown
libav: some build issues fixes
rtsp-server: Place netaddress meta on packets received via TCP. Fixes keep-alive via RTCP in TCP interleaved mode.
rtsp-server: gi annotation fixes
gst-libav: internal ffmpeg copy was updated to ffmpeg 3.3.6
Various fixes for memory leaks, deadlocks and crashes in all modules
... and many, many more!
GStreamer Python Bindings (highlights)
* Overrides has been added for IntRange, Int64Range, DoubleRange,
FractionRange, Array and List. This finally enables Python
programmers to fully read and write GstCaps objects.
* Some plugin filenames have been changed to match the plugin names:
for example the file name of the encoding plugin in
gst-plugins-base containing the encodebin element was
libgstencodebin.so and has been changed to libgstencoding.so. This
affects only a handful of plugins across modules.
* GStreamer core now optionally uses libunwind and libdw to generate
backtraces. This is useful for tracer plugins used during debugging
and development.
* There is a new libgstbadallocators-1.0 library in gst-plugins-bad
(which may go away again in future releases once the
GstPhysMemoryAllocator interface API has been validated by more
users).
* The qtkitvideosrc element for macOS was removed. The API is
deprecated since 10.9 and it wasn't shipped in the binaries since a
few releases.
GStreamer is a library that allows the construction of graphs of
media-handling components, ranging from simple Ogg/Vorbis playback to
complex audio (mixing) and video (non-linear editing) processing.
This package contains python bindings for the GStreamer library,
major version 1.