RELEASE: GStreamer Core, Plugins and RTSP server 1.3.90 (source & binaries)

Sebastian Dröge sebastian at
Sun Jun 29 03:04:59 PDT 2014

The GStreamer team is pleased to announce the first release candidate of
the stable 1.4 release series. The 1.4 release series is adding new
features on top of the 1.0 and 1.2 series and is part of the API and
ABI-stable 1.x release series of the GStreamer multimedia framework.

This release candidate will hopefully shortly be followed by the stable
1.4.0 release if no bigger regressions or bigger issues are detected,
and enough testing of the release candidate happened. The new API that
was added during the 1.3 release series is not expected to change
anymore at this point.

Binaries for Android, iOS, Mac OS X and Windows are provided together
with this release.

The stable 1.4 release series is API and ABI compatible with 1.0.x,
1.2.x and any other 1.x release series in the future. Compared to 1.2.x
it contains some new features and more intrusive changes that were
considered too risky as a bugfix.

The versioning scheme that is used in general is that 1.x.y is API and
ABI backwards compatible with previous 1.x.y releases. If x is an even
number it is a stable release series and all releases in this series
will only contain important bugfixes, e.g. the 1.0 series with 1.0.7. If
x is odd it is a development release series that will lead to the next
stable release series 1.x+1 and contains new features and bigger
changes. During the development release series, new API can still

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
 • 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
 • 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
     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
   ∘ 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.1, 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
   ∘ 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
   ∘ 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
 • 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.

Release tarballs can be downloaded directly from:
e3584e28a493f52842ae502c6c172f7e24136e316139a4380f1013b8c9ed68de  gstreamer-1.3.90.tar.xz
af9417c135b83418650266033681c6e8d4d8099bc18f4b6d7ff38c7d87f3d675  gst-plugins-base-1.3.90.tar.xz
f7e9a092dba9125e240c8879fcf581bf270cdee4f4d9fd9bb4052b8e1283d1a4  gst-plugins-good-1.3.90.tar.xz
07478aec766bf17cc9d9e8ad85464e225da8ed0d3a0d1204bbf8d82c0f30cac4  gst-plugins-bad-1.3.90.tar.xz
e004b128cd2393d3c5056d7c4538a3534b1f44c0e32d9fa463d942977903281d  gst-plugins-ugly-1.3.90.tar.xz
4ebae0d2c21f203e3b4e7c48427b928196e028dc74d01e9ee5b0f8b9053d76de  gst-libav-1.3.90.tar.xz
1d699685fd4f85a04c1ed397fc97e4c2b57787699bc2e0eb4d172354a19a950b  gst-rtsp-server-1.3.90.tar.xz

Binaries for Android, iOS, Mac OS X and Windows are available from here:
d3e7ccfa0bd66d47e456f83a98ccd90a1b92408d4b4d7bd88a5bd1cdaba22b41  gstreamer-1.0-android-arm-1.3.90-debug.tar.bz2
7d6ec64ad74b44d14499da88a47c753845e91b1b362fcd0a21426929bbae8aef  gstreamer-1.0-android-arm-1.3.90-release.tar.bz2
0fd47877d67bd15072b487442e6e96c9de89fbbe8feb125489e388370ea1bcb4  gstreamer-1.0-android-arm-1.3.90-debug-runtime.tar.bz2
378c04f780d44c56c8caf6505bb3ed1d01dcee5b482f5572704bf72aac1ff371  gstreamer-1.0-android-arm-1.3.90-release-runtime.tar.bz2
868003cef63f72a95e98f95998b771a41e7812c06fc7f1ed758bbdfee4316b43  gstreamer-1.0-devel-1.3.90-ios-universal.pkg
2d405cc1484b281f91f6b1ef5403f671fa04418479bd05d8b347726304499615  gstreamer-1.0-1.3.90-universal.pkg
71dfcb063ce3b499743d3165b0d58f319b5889327a1e19a1645ec1b7bdd18a1f  gstreamer-1.0-devel-1.3.90-universal.pkg
16a086309b934fa496905cd37c16e73a7183d8b3283dea2e2ac8b2d7b9eef96c  gstreamer-1.0-1.3.90-universal-packages.dmg
4a78149c58f6e3f702d9ee406fa9e18f33e9857366ecc11ac0d201a374bd389a  gstreamer-1.0-x86_64-1.3.90.msi
a53c9e81bc25ee65cc6d85d70e6234fb9e280b6b96e0d87deca050228ead4175  gstreamer-1.0-x86-1.3.90.msi
c055f4cf59c1ddde366fcda6c4cb326a7c6105c85bd40c5c86b3841257ea0eb4  gstreamer-1.0-devel-x86_64-1.3.90.msi
a4d7b63f91db03211306e47f3b4916cd450f79565ba42eb1d87343b56f6bce2b  gstreamer-1.0-devel-x86-1.3.90.msi

As always, please let us know of any issues you run into by filing a bug
in Bugzilla:

Sebastian Dröge, Centricular Ltd -
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the gstreamer-devel mailing list