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 • 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) 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 ∘ 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 CLAGS • 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.1.tar.xz 74892b1a877cd84592d8179878e270937ecd5dcc3c09a88d777cff5992e5b45f gstreamer-1.1.1.tar.xz http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.1.1.tar.xz f974e3125d75df5785347b610be5eb9b6128bfc25ef3f0ce8f64f9c51ea74e72 gst-plugins-base-1.1.1.tar.xz http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.1.1.tar.xz 06dc153369a9a960236fd471ab11f597fe1a4871dcfa5dbdcdba6708e482c70e gst-plugins-good-1.1.1.tar.xz http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.1.1.tar.xz e26dd92eddb4e972bfbedd0ceb5aeb46dd2939c7eebed96c1088dc2bfb039873 gst-plugins-bad-1.1.1.tar.xz http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.1.1.tar.xz 27f54e1d9a4f9ff14e24ac515e3f7067954686b81e004337e0d0ebaf12310fcf gst-plugins-ugly-1.1.1.tar.xz http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.1.1.tar.xz 3543b55a3d95980ed7e834b1bf3dc33ff200f8396bd8fcb7be4399d1c68e12c2 gst-libav-1.1.1.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/
Attachment:
signature.asc
Description: This is a digitally signed message part