RELEASE: GStreamer Core and Plugins 1.1.3
Sebastian Dröge
slomo at circular-chaos.org
Mon Jul 29 05:26:49 PDT 2013
The GStreamer project announces a new development release with feature
additions for the API and ABI-stable 1.x series of the GStreamer
multimedia framework.
The 1.x series is a stable series targeted at end users. It is not API
or ABI compatible with the 0.10.x series. It can, however, be installed
in parallel with the 0.10.x series and will not affect an existing
0.10.x installation.
The 1.1 development releases will lead to the next stable 1.2.x release
series, which will be API and ABI compatible with 1.0.x and any other
1.x release series in the future. Compared to 1.0.x it contains some new
features and more intrusive changes that were considered too risky as a
bugfix. The newly added API and ABI can still change until the 1.2.0
release, as such distribution packagers should not include 1.1.x in
their distributions but wait until 1.2.0.
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
change.
Changes since 1.0:
New API:
• GstContext negotiation / sharing / announcing for sharing a
generic context between elements, e.g. a display handle
• GL texture upload conversion meta for allowing different
buffer types to be converted to an OpenGL texture
• GstCapsFeatures as extension to GstCaps for allowing the
negotiation of specific memory or meta requirements between
elements
• GstMemory flags for contiguous and non-mappable memory
• The stream-start event has optional flags now, e.g. for signalling
sparse streams
• The stream-start even has an optional group-id field now to signal
all streams that should be played together
• Allocators library in gst-plugins-base, currently only with generic
dmabuf memory support
• insertbin library for easier handling of dynamically linked
pipelines (in -bad for now)
• EGL helper library (in -bad for now)
• MPEG-TS data structure library (in -bad for now)
• New GstVideoRegionOfInterestMeta to describe a region of interest on
video frames.
Major changes:
• New plugins:
∘ mssdemux for Microsoft Smooth Streaming
∘ dashdemux for DASH adaptive streaming protocol
∘ bluez for interaction with Bluetooth devices
∘ openjpeg for JPEG2000 decoding and encoding
∘ daala for experimental Daala decoding and encoding
∘ vpx plugin has experimental V9 decoding and encoding support
∘ Various others: yadif, srtp, sbc, fluidsynth, midiparse,
mfc, ivtv, accuraterip and audiofxbad
• Moved plugins:
∘ dtmf, vp8rtp, scaletempo and rtpmux plugins are in
gst-plugins-good now
• Video:
∘ Fix handling of interlaced video in converters such as videoscale
and videoconvert (e.g. scale both fields independently)
∘ videoconvert will try harder to minimise quality losses when
conversion is necessary
∘ The experimental GstSurfaceConverter, GstSurfaceMeta and
GstVideoContext APIs from the (confusingly-named)
libgstbasevideo-1.0 library in gst-plugins-bad have now been
removed and been replaced by new APIs in GStreamer Core and
gst-plugins-base (see above). Since that was all that was left in
this library, the entire experimental libgstbasevideo-1.0 library
has been removed from gst-plugins-bad.
∘ Chroma subsampling and siting conversion is better handled in
videoconvert
• Audio:
∘ adder now allows muting/unmuting of its input streams, and also
per-input stream volume
• Platform specific changes:
∘ Caps, events, etc. are now printed in the GStreamer debug logs
with their content instead of just the pointer address even on
non-glibc platforms (e.g. Windows, OSX, Android).
∘ Network elements (UDP/TCP) now work better with platforms,
where IPv6 sockets can't handle IPv4 (e.g. Windows)
∘ Windows: d3dvideosink provides a bufferpool to upstream elements
∘ Linux/BSD: v4l2 had many improvements and cleanups
• Other changes:
∘ gst-libav now uses libav 9
∘ Static linking of plugins is supported now (also in 1.0.7)
∘ rtspsrc: add support for NetClientClock: when the server suggests a
GstNetTimeProvider in the SDP, set up a GstNetClientClock that
slaves to the remote clock and suggest this clock in provide_clock.
Simplifies synchronized playback of a resource from an RTSP server.
gst-rtsp-server now supports adding this to the SDP and can provide
a network clock
∘ Changes to many elements and core to use the correct sticky event
order and also not lose any important sticky events during flushing
∘ 345 fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report
Things to look out for:
• Single header includes for all libraries, e.g. #include
<gst/video/video.h> - this was needed for some bindings.
Unfortunately this could not be done in a way that doesn't cause
compiler issues with older code. You may need to move some code to
single includes (make sure to #if #else on the version macros if you
need to keep supporting 1.0.x versions as well). Binary compatibility
is not affected by this.
• Stricter (correct) caps subset checking in some cases where this was
not correct before. Caps will now always fail to be a compatible
subset of another set of caps if the subset caps are missing some
fields that the superset caps have. This might lead to not-negotiated
errors if caps are incomplete now. However, it also prevents possible
data corruption caused by piping data formatted in an
incompatible/unexpected way into some elements. Check your h264 caps
for stream-format and alignment fields and AAC caps for the
stream-format field. This change will also be included in the next
stable 1.0.8 release.
• Stricter checking for missing events and correct sticky event order
(stream-start, caps, segment) in some places; this is not enabled in
stable releases by default, but you may get warnings when using git
builds, development releases or when compiling with
-UG_DISABLE_ASSERT in CFLAGS
• x264enc now outputs data in byte-stream by default if downstream has
ANY caps (e.g. appsink without caps set, filesink, udpsink,
tcpserversink etc.)
Release tarballs can be downloaded directly from:
http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.1.3.tar.xz
7e5b6a4858379b46d20bf9fd342539b6ac269766e5e1325a25f227815e89421a gstreamer-1.1.3.tar.xz
http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.1.3.tar.xz
9f24d875ab23f97ec39276d7340839813567b1bf42296c97792ce6b8dd21629e gst-plugins-base-1.1.3.tar.xz
http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.1.3.tar.xz
1f516cb39e24ba5544a503bef246f9cf5b002dfbcbc2c475c6b8d5c23bc140a6 gst-plugins-good-1.1.3.tar.xz
http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.1.3.tar.xz
82e84111a87cd58d88b4e5e267c17af9f73e667f9c1ee4df030ed17580f2648a gst-plugins-bad-1.1.3.tar.xz
http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.1.3.tar.xz
c568f47f6825ed6db9cbf252321a1820ad965672f2b35a0709ab3c75a4786a7f gst-plugins-ugly-1.1.3.tar.xz
http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.1.3.tar.xz
2160ef87b248872eee6a669446575bc2e4aa0ac3a0893b2ffb6f01fa929d075f gst-libav-1.1.3.tar.xz
As always, please let us know of any issues you run into by filing a bug
in Bugzilla: http://gstreamer.freedesktop.org/bugs/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-announce/attachments/20130729/e27b025d/attachment.pgp>
More information about the gstreamer-announce
mailing list