1.8.3
The third 1.8 bug-fix release (1.8.3) was released on 19 August 2016. This release only contains bugfixes and it should be safe to update from 1.8.x.
Major bugfixes in 1.8.3
Fix Android build scripts on OS X and Windows
Fix stepping in PAUSED state in certain circumstances
Fix jackaudiosink hang when exiting
Fix udpsrc receiving multicast packets not only from the selected multicast group
Fix unnecessary decoding of unselected streams in GES
Fix (multi)udpsink randomly not sending to clients
Fix ALL_BOTH probes not considering EVENT_FLUSH
Fix average input rate calculations in queue2
Fix various locking issues causing deadlock in adaptivedemux
Fix gst-libav encoders to correctly produce codec_data in caps
Add Wayland, Windows and Rasberry Pi support to the QML GL video sink
Add support for building with OpenH264 1.6
Add support for controlling deinterlacing in GES video sources
... and many, many more!
For a full list of bugfixes see Bugzilla. Note that this is not the full list of changes. For the full list of changes please refer to the GIT logs or ChangeLogs of the particular modules.
Known Issues
gst-rtsp-server does not take address pool configuration into account for sending unicast UDP. Bugzilla #766612
vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit Windows is unaffected. Bugzilla #763663
Switch gst-plugin1-libav from ffmpeg2 to ffmpeg3.
1.8.1
The first 1.8 bug-fix release (1.8.1) was released on 20 April 2016.
This release only contains bugfixes and it should be safe to update
from 1.8.0.
Major bugfixes in 1.8.1
Fix app compilation with Android NDK r11 and newer
Fix compilation of nvenc plugin against latest NVIDIA SDK 6.0
Fix regression in avdeinterlace
Fix memory corruption in scaletempo element with S16 input
Fix glitches at the start with all audio sinks except for pulsesink
Fix regression with encrypted HLS streams
Fix automatic multithreaded decoding of VP8/9 video
Fix deadlock in HTTP adaptive streams when scrub-seeking
Fix regression in RTSP source with SRTP
Add support for SRTP rollover counters in the RTSP source
Add support for HiDPI ("Retina") screens in caopengllayersink
... and many more!
GStreamer 1.8.0 was released on 24 March 2016.
The GStreamer team is proud to announce a new major feature release
in the stable 1.x API series of your favourite cross-platform
multimedia framework!
As always, this release is again packed with new features, bug fixes
and other improvements.
See https://gstreamer.freedesktop.org/releases/1.8/ for the latest
version of this document.
Highlights
Hardware-accelerated zero-copy video decoding on Android
New video capture source for Android using the android.hardware.Camera
API
Windows Media reverse playback support (ASF/WMV/WMA)
New tracing system provides support for more sophisticated
debugging tools
New high-level GstPlayer playback convenience API
Initial support for the new Vulkan API, see Matthew Waters'
blog post for more details
Improved Opus audio codec support: Support for more than two
channels; MPEG-TS demuxer/muxer can now handle Opus; sample-accurate
encoding/decoding/transmuxing with Ogg, Matroska, ISOBMFF
(Quicktime/MP4), and MPEG-TS as container; new codec utility
functions for Opus header and caps handling in pbutils library.
The Opus encoder/decoder elements were also moved to gst-plugins-base
(from -bad), and the opus RTP depayloader/payloader to -good.
GStreamer VAAPI module now released and maintained as part of
the GStreamer project
Asset proxy support in the GStreamer Editing Services
Changelog:
* 759624 : v4l2: Exposes colorimetry for RGB format which confuses videoconvert
* 742446 : sbcparse: Frame coalescing broken for joint stereo
* 758943 : SEGV using rtpj2kdepay & openjpegdec
* 760289 : rtpvrawdepay : memory leak
* 760556 : rtspsrc: interleaved data and srtp don't play well together
* 760666 : vp8enc: Do not mix up Booleans with FlowReturn
Major bugfixes
Crashes in gst-libav with sinks that did not provide a buffer pool but supported video metadata were fixed. This affected d3dvideosink and some 3rd party sinks. Also related fixes for crashes when a downstream buffer pool failed allocation.
Big GL performance improvement on iOS by a factor of 2 by using Apple's sync extension.
Deadlocks in the DirectSound elements on Windows, and the behaviour of its mute property were fixed.
The Direct3D video sink does not crash anymore when minimizing the window
The library soname generation on Android >= 6.0 was fixed, which previously caused GStreamer to fail to load there.
File related elements have large-file (>2GB) support on Android now.
gst-libav was updated to ffmpeg 2.8.3.
Deserialization of custom events in the GDP depayloader was fixed.
Missing OpenGL context initialization in the Qt/QML video sink was fixed in certain situations.
Interoperability with some broken RTSP servers using HTTP tunnel was improved.
Various compilation fixes for Windows.
Various smaller memory leak and other fixes in different places.
and many, many more
GStreamer 1.6.1 Release Notes
The GStreamer team is proud to announce the first bugfix release in the stable 1.6 release series of your favourite cross-platform multimedia framework!
This release only contains bugfixes and it is safe to update from 1.6.0. For a full list of bugfixes see Bugzilla.
See http://gstreamer.freedesktop.org/releases/1.6/ for the latest version of this document.
Last updated: Friday 30 October 2015, 14:00 UTC (log)
Major bugfixes
Crashes in the gst-libav encoders were fixed
More DASH-IF test streams are working now
Live DASH, HLS and MS SmoothStreaming streams work more reliable and other fixes for the adaptive streaming protocols
Reverse playback works with scaletempo to keep the audio pitch
Correct stream-time is reported for negative applied_rate
SRTP packet validation during decoding does not reject valid packets anymore
Fixes for audioaggregator and aggregator to start producing output at the right time, and e.g. not outputting lots of silence in the beginning
gst-libav's internal ffmpeg snapshot was updated to 2.8.1
cerbero has support for Mac OS X 10.11 (El Capitan)
Various memory leaks were fixed, including major leaks in playbin, playsink and decodebin
Various GObject-Introspection annotation fixes for bindings
and many, many more
GStreamer 1.6 Release Notes
The GStreamer team is proud to announce a new major feature release in the stable 1.x API series of your favourite cross-platform multimedia framework!
This release has been in the works for more than a year and is packed with new features, bug fixes and other improvements.
See http://gstreamer.freedesktop.org/releases/1.6/ for the latest version of this document.
Highlights
Stereoscopic 3D and multiview video support
Trick mode API for key-frame only fast-forward/fast-reverse playback etc.
Improved DTS (decoding timestamp) vs. PTS (presentation timestamp) handling to account for negative DTS
New GstVideoConverter API for more optimised and more correct conversion of raw video frames between all supported formats, with rescaling
v4l2src now supports renegotiation
v4l2transform can now do scaling
V4L2 Element now report Colorimetry properly
Easier chunked recording of MP4, Matroska, Ogg, MPEG-TS: new splitmuxsink and multifilesink improvements
Content Protection signalling API and Common Encryption (CENC) support for DASH/MP4
Many adaptive streaming (DASH, HLS and MSS) improvements
New PTP and NTP network client clocks and better remote clock tracking stability
High-quality text subtitle overlay at display resolutions with glimagesink or gtkglsink
RECORD support for the GStreamer RTSP Server
Retransmissions (RTX) support in RTSP server and client
RTSP seeking support in client and server has been fixed
RTCP scheduling improvements and reduced size RTCP support
MP4/MOV muxer acquired a new "robust" mode of operation which attempts to keep the output file in a valid state at all times
Live mixing support in aggregator, audiomixer and compositor was improved a lot
compositor now also supports rescaling of inputs streams on the fly
New audiointerleave element with proper input synchronisation and live input support
Blackmagic Design DeckLink capture and playback card support was rewritten from scratch; 2k/4k support; mode sensing
KLV metadata support in RTP and MPEG-TS
H.265 video encoder (x265), decoders (libav, libde265) and RTP payloader and depayloaders
New DTLS plugin and SRTP/DTLS support
OpenGL3 support, multiple contexts and context propagation, 3D video, transfer/conversion separation, subtitle blending
New OpenGL-based QML video sink, Gtk GL video sink, CoreAnimation CAOpenGLLayerSink video sink
gst-libav switched to ffmpeg as libav-provider, gains support for 3D/multiview video, trick modes, and the CAVS codec
GstHarness API for unit tests
gst-editing-services got a completely new ges-launch-1.0 interface, improved mixing support and integration into gst-validate
gnonlin has been deprecated in favor of nle (Non Linear Engine) in gst-editing-services
gst-validate has a new plugin system, an extensive default testsuite, support for concurrent test runs and valgrind support
cerbero build tool for SDK binary packages gains new 'bundle-source' command
Various improvements to the Android, iOS, OS X and Windows platform support
Full log at
http://gstreamer.freedesktop.org/releases/1.6/
GStreamer core:
* 736969 : queue2: dead lock when buffering
* 738092 : basesink: clamp reported position based on direction
* 740001 : task: race condition when pausing and stopping
GStreamer Plugins Base:
* 741420 : video pools: should update size in configuration after applying alignment
* 715050 : add typefinder for audio/x-audible
* 739544 : tcp: Add test and fix memory leak in tcp elements
* 739840 : typefind should recognize Apple Core Audio Format (CAF)
* 740556 : videodecoder: don't complain when DTS != PTS on keyframes
* 740675 : playsink: continues playback, reset mute property
* 740730 : rtspconnection: don't remove child source if parent source is already destroyed
* 740853 : audiodecoder: Push pending events before sending EOS.
* 740952 : alsa: NetBSD fixes
* 741045 : audiorate can can lose timestamp precision in some cases
* 741198 : playbin: leaks GstPads
GStreamer Plugins Good:
* 711437 : apev2mux: should not put APEv2 tags at beginning of WavPack files
* 726194 : v4l2src does not cope well when a capture card is sometimes interlaced, sometimes progressive at the same resolution
* 736397 : flvdemux: Per-stream resyncing behavior causes A/V-desyncs
* 737603 : v4l2bufferpool: set buffer interlace flags when field is V4L2_FIELD_INTERLACED
* 739476 : vpx: fails to build against libvpx from git
* 739722 : matroskamux: Thread safe register GstMatroskamuxPad
* 739789 : v4l2allocator: fix error message if allocator is already active
* 739791 : v4l2bufferpool: unref pool when v4l2_allocator_new() fails
* 739792 : v4l2allocator: fix gst_v4l2_allocator_stop prototype
* 739996 : videomixer: Drops a lot of frames, if one of the sources is live
* 740040 : v4l2src: Fails in presence of V4L2_BUF_FLAG_ERROR
* 740392 : rtspsrc: mikey base64 decoded key-mgmt leak
* 740407 : qtmux limits capture to 4096x4096
* 740633 : v4l2src: RW io-mode is broken
* 740636 : v4l2src: framerate is not always set on driver
* 740671 : aspectratiocrop: crop needs to be reset when video size changes
* 740905 : v4l2: still has 1 include to linux/videodev.h
* 741271 : rtph264pay: Buffer leak in H.264 payloader when using SPS/PPS
* 741381 : rtph264pay: Race condition may cause crash when going from PAUSED- > READY
* 741407 : deinterlace: in query_caps return only supported formats if filter is interlaced
* 737579 : v4l2object: set colorspace for output devices
* 739754 : v4l2bufferpool: Should validate that all memories are writeable before queueing back
GStreamer Plugins Bad:
* 722764 : rawparse: fix SEEKING query handling
* 729768 : mpegtsbase: Raise limit to read more bytes initially to find PCR
* 739152 : gl/cocoa: build with GNUStep fails
* 740191 : dvbbasesink: segfaults on 32-bit (rpi)
* 740201 : gl/cocoa: Does not compile on OSX < 10.7 anymore
* 740451 : srtpdec: leaks rtp/rtcp sink events
* 740953 : configure.ac: unportable test(1) comparison operator
* 741321 : opusparse: fix header parsing esp. of encoded output of libopus
GStreamer RTSP Server:
* 739481 : rtsp-stream: leaks srtp decoder when leaving rtpbin
GStreamer Plugins Base:
* 736969 : queue2: dead lock when buffering
* 737055 : audiosink: Setting URI on playbin at about-to-finish when playing AAC and using an alsasink causes delayed playback
* 737706 : videoencoder: release frame in finish_frame when no output state is configured
* 737742 : vorbisdec: Crashes when handling more than 8 channels
* 737752 : rtsp-client: crash when cleaning up session
* 738064 : decodebin: The “drained” signal is emitted multiple times, first time too early (~1s)
GStreamer Plugins Good:
* 726329 : vp8enc: Add support for caps renegotiation
* 736071 : audiobasesink: Don't hold object lock while calling into other objects like the clock
* 737735 : wavenc writes broken file if caps are set
* 737739 : souphttpclientsink: Restarting after error results in buffers being queued forever
* 737761 : aacparse: memory leak when converting to adts
* 737771 : souphttpclientsink: Stream header buffer lifetime assumptions are incorrect
* 737886 : equalizer: crash when changing equalizer settings during playback
* 738102 : v4l2bufferpool: cleanly handle streamon failure for output device
* 738152 : v4l2sink: leak with output device
* 738297 : DTMF telephone-event timestamps are bogus
* 738722 : rtpmux returns EMPTY caps when query'ing
* 738793 : speex: encoder/decoder segfault when resetting multiple times
* 739430 : rtspsrc: mikey related memory leaks
GStreamer Plugins Bad:
* 732239 : h264parse: expose parsed profiles to downstream
* 733510 : gltransformation produced black screen
* 734156 : androidmedia: doesn't calculate framesize for COLOR_FormatYUV420Planar correctly
* 736319 : dashdemux: mark first buffer as discont after restarting a download task
* 737186 : h264parse: Return flushing if we get chained while being set to READY
* 737569 : tsdemux: valid data is discarded if PES start packet is the first packet after discontinuity
* 737658 : fluiddec: segmentation fault when used with fakesrc
* 737724 : vc1parse: unref caps when it is empty in renegotiate()
* 738067 : gl: Downloading YUY2 is broken and creates blocky artefacts
* 738223 : fluiddec: leaks memory in gst_fluid_dec_change_state()
* 738230 : vc1parser: fix level value for simple/main profile
* 738243 : vc1parse: fix framesize when input is frame-layer
* 738291 : fluiddec: leaks incoming caps event
* 738449 : vc1parse: just assume none header-format when no codec_data is present
* 738519 : vc1parse: parse frame header when stream format is ASF/raw for simple/main profile
* 738532 : vc1parse: select caps according to wmv format at negotiation
* 738674 : rtmpsink: leaking URI string
* 738695 : mpegtsbase: do not remove programs on EOS
* 738696 : hlsdemux: send missing stream start
* 739277 : GstGLFilter propose allocation pass uninitialized size to gst_query_add_allocation_pool
* 739348 : configure.ac: auto decision to include GL library fails
* 739368 : gl: small memory leak in gl shader
* 739374 : h264parse: sets srccaps too often
Note that this announcement includes everything from 1.4.2 too, which was
never officially released as some critical bugs were found.
Bug reports fixed in this release:
GStreamer core:
* 734412 : multiqueue: The buffering logic can lead to a pipeline stuck in PAUSED forever
* 735574 : buffer: do not touch memory tag flag when copying buffer flags
* 736295 : multiqueue: posts buffering message holding lock
* 736424 : query: add annotations to gst_query_set_nth_allocation_pool
* 736680 : basesrc: possible pool and allocator leak in prepare_allocation()
* 736736 : query: add annotations to gst_query_add_allocation_pool
* 736813 : typefindelement leaks sticky events upon flush_stop
* 737102 : queue: Do not hold GST_QUEUE_LOCK while posting ERROR messages
* 737133 : Missing gstconfig.h include
GStreamer Plugins Base:
* 732908 : audioresample: skips samples unless input buffers have correct size
* 727255 : playbin: filter out buffering messages when switching URI and the previous URI is still playing
* 729811 : output-selector: test example in gstreamer plugin base is giving " Internal data flow error "
* 735569 : rtspconnection: Crash due to no protection of watchs readsrc
* 735748 : playbin: can't play an avi file in totem with audio-filter=scaletempo
* 735800 : textoverlay: Two textoverlay in sequence fail to negotiate (regression)
* 735844 : basetextoverlay/pango: overlay negotiation fails when it should not
* 735952 : videorate: GstStructure refcount critical message
* 736071 : audiobasesink: Don't hold object lock while calling into other objects like the clock
* 736118 : videofilter: The buffer is not writable in transform_frame_ip
* 736739 : audiocdsrc: do not leak uid after parsing TOC select event
* 736779 : typefind: h265 IRAP picture always true
* 736788 : audiodecoder: leaks events
* 736796 : videoencoder: do not leak events when flushing them
* 736861 : playbin: Reference count bug
* 736679 : videodecoder: do not leak pool and allocator in error case
* 736969 : queue2: dead lock when buffering
* 709868 : Keep still meaningfull pending events on FLUSH_STOP
GStreamer Plugins Good:
* 719359 : vp8dec: Doesn't handle changes in resolution
* 733607 : v4l2transform: Rank should have been NONE
* 734266 : vp8dec: fails when input format changes
* 735520 : aacparse: skip valid ADTS/LOAS frames
* 735804 : smpte: Creates incomplete raw video caps
* 735833 : matroskademux: parse error at end of file
* 735859 : videomixer: Dynamically changing the FPS leads to an incorrect buffer time
* 736192 : avidemux: some AVI files crash (regression)
* 736266 : wavparse: error in reading adtl chunk
* 736384 : v4l2sink: pool not unreffed after usage
* 736670 : v4l2allocator: O_CLOEXEC needs _GNU_SOURCE
* 736805 : multipartdemux leaks new stream events
* 736807 : rtpbin: pad leaked in error case
* 735660 : v4l2: fix new v4l2 code not working with certain devices (regression)
* 736944 : videoscale: vs_image_scale_4tap_Y offset should use stride to calculate buffer offset
* 737219 : flacparse: When generating headers, leave total_samples at 0 if upstream duration query returns GST_CLOCK_TIME_NONE.
GStreamer Plugins Bad:
* 735861 : dataurisrc: make src thread safe
* 736090 : aiffparse: duplicate else-if condition
* 736390 : tsdemux: plug for a memory leak
* 736426 : mpegpsmux: memory leak with h264/avc stream
* 736474 : vc1parse: malformed sequence layer header and STRUCT_C
* 736490 : tsdemux: fix overflow of packet_length field of PESHeader
* 736729 : glmixer: do not leak pool in error cases
* 736730 : gltestsrc: do not leak pool in error cases
* 736731 : openni2src: do not leak pool
* 736732 : glfilter: do not leak pool in error cases
* 736733 : vdpdecoder: do not leak pool
* 736735 : waylandsink: do not leak buffer pool in error case
* 736750 : vc1parse: fix sequence-layer/frame-layer endianness
* 736871 : codecparsers_vc1: sequence-layer parser is broken due to endianness issue.
* 736919 : hlsdemux: attempt to unlock an already unlocked mutex in gst_hls_demux_change_playlist
* 736951 : vc1parse: initialize sent_codec_tag before using it
GStreamer Plugins Ugly:
* 736060 : asfdemux: add GUID for ASF_Metadata_Library_Object
GStreamer libav Plugins:
* 734661 : avviddec: After draining frames, flush the libav decoder
* 736515 : avviddec: keep draining buffers from libav until libav says so
* 737144 : avauddec: keep draining buffers from libav until libav says so
GStreamer RTSP Server:
* 735570 : Race condition between close() and handle_tunnel() causing crash
* 736017 : Sequence number is not monotonic after PAUSE command
GStreamer Plugins Good:
* 727180 : videomixer: Unexpected behaviour when scaling after the mixer
* 733695 : ximagesrc: Use after free
* 733866 : interleave: caps negotiation fails when input caps have non-interleaved layout
* 734435 : rtph263ppay: Unref pad template caps after use
* 734473 : rtpmux: Unref pad template caps after usage
* 734474 : videomixer: Unref allowed caps after usage
* 734475 : imagefreeze: Unref pad template caps after usage
* 734476 : navseek: Unref peer pad after usage
* 734478 : shapewipe: Unref caps and element after usage
* 734764 : videomixer: Avoid double free of videoconvert
This is GStreamer Good Plugins 1.4.0
Changes since 1.2:
New API:
• GstMessageType has GST_MESSAGE_EXTENDED added. All types before
that can be used together as a flags type as before, but from
that message onwards the types are just counted incrementally.
This was necessary to be able to add more message types.
In 2.0 GstMessageType will just become an enum and not a flags
type anymore.
• GstDeviceMonitor for device probing, e.g. to list all available
audio or video capture devices. This is the replacement for
GstPropertyProbe from 0.10.
• Events accumulate the running-time offset now when travelling
through pads, as set by the gst_pad_set_offset() function. This
allows to compensate for this in the QOS event for example.
• GstBuffer has a new flag "tag-memory" that is set automatically
when memory is added or removed to a buffer. This allows buffer
pools to detect if they can recycle a buffer or need to reset
it first.
• GstToc has new API to mark GstTocEntries as loops.
• A not-authorized resource error has been defined to notify
applications that accessing the resource has failed because
of missing authorization and to distinguish this case from others.
This change is actually already in 1.2.4.
• GstPad has a new flag "accept-intersect", that will let the default
ACCEPT_CAPS query handler do an intersection instead of subset check.
This is interesting for parser elements that can handle incomplete
caps.
• GstCollectPads has support for flushing and a default handler for
SEEK events now.
• New GstFlowAggregator helper object that simplifies handling of
flow returns in elements with multiple source pads. Additionally
GstPad now always stores the last flow return and provides an
API to retrieve it.
• GstSegment has new API to offset the running time by a specific
value and this is used in GstPad to allow positive and negative
offsets in gst_pad_set_offset() in all situations.
• Support for h265/HEVC and VP8 has been added to the codec utils and codec
parsers library, and was integrated into various elements.
• API for adjusting the TLS validation of RTSP connection has been added.
• The RTSP and SDP library has MIKEY (RFC 3830) support now, and
there is API to distinguish between the different RTSP profiles.
• API to access RTP time information and statistics.
• Support for auxiliary streams was added to rtpbin.
• Support for tiled, raw video formats has been added.
• GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
events and merge custom tags into them consistently.
• GstBufferPool has support for flushing now.
• playbin/playsink has support for application provided audio and video
filters.
• GstDiscoverer has new and simplified API to get details about missing
plugins and information to pass to the plugin installer.
• The GL library was merged from gst-plugins-gl to gst-plugins-bad,
providing a generic infrastructure for handling GL inside GStreamer
pipelines and a plugin with some elements using these, especially
a video sink. Supported platforms currently are Android, Cocoa (OS X),
DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
Wayland and EGL platforms.
This replaces eglglessink and also is supposed to replace osxvideosink.
• New GstAggregator base class in gst-plugins-bad. This is supposed to
replace GstCollectPads in the future and fix long-known shortcomings
in its API. Together with the base class some elements are provided
already, like a videomixer (compositor).
Major changes:
• New plugins and elements:
∘ v4l2videodec element for accessing hardware codecs on
platforms that make them accessible via V4L2, e.g.
Samsung Exynos. This comes together with major refactoring
of the existing V4L2 elements and the corresponding
infrastructure.
The v4l2videodec element replaces the mfcdec element.
∘ New downloadbuffer element that replaces the download
buffering feature of queue2. Compared to queue2's code
it is much simpler and only for this single use case.
A noteworthy new feature is that it's downloading gaps
in the already downloaded stream parts when nothing else
is to be downloaded.
This is now used by playbin when download buffering is
enabled.
∘ rtpstreampay and rtpstreamdepay elements for transmitting
RTP packets over a stream API (e.g. TCP) according to
RFC 4571.
∘ rtprtx elements for standard compliant implementation of
retransmissions, integrated into the rtpmanager plugin.
∘ audiomixer element that mixes multiple audio streams together
into a single one while keeping synchronization. This is
planned to become the replacement of the adder element.
∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
are available on OS X and iOS now.
• Other changes:
∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
∘ Support for hardware codecs and special memory types has been
improved with bugfixes and feature additions in various plugins
and base classes.
∘ Various bugfixes and improvements to buffering in queue2 and
multiqueue elements.
∘ dvbsrc supports more delivery mechanisms and other features
now, including DVB S2 and T2 support.
∘ The MPEGTS library has support for many more descriptors.
∘ Major improvements to tsdemux and tsparse, especially time and
seeking related.
∘ souphttpsrc now has support for keep-alive connections,
compression, configurable number of retries and configuration
for SSL certificate validation.
∘ hlsdemux has undergone major refactoring and works more
reliable now and supports more HLS features like trick modes.
Also fragments are pushed downstream while they're downloaded
now instead of waiting for each fragment to finish.
∘ dashdemux and mssdemux are now also pushing fragments downstream
while they're downloaded instead of waiting for each fragment to
finish.
∘ videoflip can automatically flip based on the orientation tag.
∘ openjpeg supports the OpenJPEG2 API.
∘ waylandsink was refactored and should be more useful now. It also
includes a small library which most likely is going to be removed
in the future and will result in extensions to the GstVideoOverlay
interface.
∘ gst-rtsp-server supports SRTP and MIKEY now.
∘ gst-libav encoders are now negotiating any profile/level settings
with downstream via caps.
∘ Lots of fixes for coverity warnings all over the place.
∘ Negotiation related performance improvements.
∘ 800+ fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report.
Things to look out for:
• The eglglessink element was removed and replaced by the glimagesink
element.
• The mfcdec element was removed and replaced by v4l2videodec.
• osxvideosink is only available in OS X 10.6 or newer.
• On Android the namespace of the automatically generated Java class
for initialization of GStreamer has changed from com.gstreamer to
org.freedesktop.gstreamer to prevent namespace pollution.
• On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
your projects from the one included in the binaries if you used the
GnuTLS GIO module before. The loading mechanism has slightly changed.
COMMENT should not be longer than 70 characters.
COMMENT should not begin with 'A'.
COMMENT should not begin with 'An'.
COMMENT should not begin with 'a'.
COMMENT should not end with a period.
COMMENT should start with a capital letter.
pkglint warnings. Some files also got minor formatting, spelling, and style
corrections.
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.
Applications can take advantage of advances in codec and filter technology
transparently. Developers can add new codecs and filters by writing a
simple plugin with a clean, generic interface.
GStreamer is released under the LGPL.
This package is part of the good GStreamer plugins; that is, those that are
considered to be stable and correctly coded.