The GStreamer team is pleased to announce the second 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 change. 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.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 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. Release tarballs can be downloaded directly from: http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.3.91.tar.xz 89a9b66ff92f0f966bf716dc9994995973703729cb35084778d7ded19f8c3c03 gstreamer-1.3.91.tar.xz http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.3.91.tar.xz 489803c9ab3384fb9454891ae93328823b21d7f120fb760c509aa3338e64dba8 gst-plugins-base-1.3.91.tar.xz http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.3.91.tar.xz 0c49c0048940c5b1199d6dfe83ab21742e0093e0d2ab39ffcebc4872a2f65582 gst-plugins-good-1.3.91.tar.xz http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.3.91.tar.xz 069072bbb5a069e503e2651030773eae6d40dde92247fedde6adc5bf253b83c0 gst-plugins-bad-1.3.91.tar.xz http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.3.91.tar.xz 4b4e8ad743a820936a9a08725976aa442f930e34fa97a65db94f992cc43bc1da gst-plugins-ugly-1.3.91.tar.xz http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.3.91.tar.xz f04e12ec0febbee43d264f50f559d5cc7f3fbcf0cbcd8e63d64f5f41012ff00b gst-libav-1.3.91.tar.xz http://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.3.91.tar.xz a2b99f614acc6faf405df27b0ebe21d3c96b742f616a05a598ac88e4fbe33e11 gst-rtsp-server-1.3.91.tar.xz Binaries for Android, iOS, Mac OS X and Windows are available from here: http://gstreamer.freedesktop.org/data/pkg/android/1.3.91/ 2be2eb9d8f8882ec7939e3223bd913b84c8dcc74e4b8be753bbaeac42baa0b7d gstreamer-1.0-android-arm-1.3.91-debug.tar.bz2 7612ea433c40a21431a4b8a0ceb8cf5bbe978d2b1facd94c05c9815af5790de9 gstreamer-1.0-android-arm-1.3.91-debug.zip 0adaed84290d6361380c901ef87f8dfb373f2181da305c17a64f6d729b1f8d9c gstreamer-1.0-android-arm-1.3.91-release.tar.bz2 19c083dd8e5b28f7534ea4a76ae6dab743ae8fb9ba597a91a5193fa62664dca3 gstreamer-1.0-android-arm-1.3.91-release.zip fc2254d751ea1f89aaa2fa19acabeffdd3f4d50c4a982ac83a07e55452c52df8 gstreamer-1.0-android-arm-1.3.91-debug-runtime.tar.bz2 db62ac026fa98c8e388ca78c324a957378ea4ec87cba8f239d838ce08290de32 gstreamer-1.0-android-arm-1.3.91-debug-runtime.zip 9bf41bfb61e68ec638d1ff0c8fb5866d9fb4c7e8a17f61a464e600e8d3736ba1 gstreamer-1.0-android-arm-1.3.91-release-runtime.tar.bz2 c6965fe954f83918dfdd6eb302145c92824559b65fa83501dfbc72abcfd02d71 gstreamer-1.0-android-arm-1.3.91-release-runtime.zip http://gstreamer.freedesktop.org/data/pkg/ios/1.3.91/ f04166c5713d12455ae6b6112db3a6a89e81deb040a7a4b28caf78491bcb6b97 gstreamer-1.0-devel-1.3.91-ios-universal.pkg http://gstreamer.freedesktop.org/data/pkg/osx/1.3.91/ 10096082a4d3efb13734b73bd668f4b34248c9d90858683ecf23cc1fcb1f49b5 gstreamer-1.0-1.3.91-universal.pkg 826fd3203edbf1d02ddfc9fe0ea54c415b6fd97bbe645ae9f7bcd7f85dce2fb7 gstreamer-1.0-devel-1.3.91-universal.pkg 6352755cfffef68d9da02edc89096c390b23a21be2c10feb75ab2ac3eba41ba1 gstreamer-1.0-1.3.91-universal-packages.dmg http://gstreamer.freedesktop.org/data/pkg/windows/1.3.91/ 3cb76eccde11f7c04a934e0e7322341769ed8fa4694504917bf26b621ef71bda gstreamer-1.0-x86_64-1.3.91.msi 8473b43f59cc47ceefa08d77cb1d3093793d3290ae4a93c75f1e91374245cbed gstreamer-1.0-x86-1.3.91.msi 66aafb330ec2749bf1015c5a746195255112a3a0fb9b5540dc6556732c5e6f51 gstreamer-1.0-devel-x86_64-1.3.91.msi 395756bee1ee595a39b779e3b8b6dd5ddb26f906dd0bcae9c37f8167e109e1c2 gstreamer-1.0-devel-x86-1.3.91.msi 701994aca452ce1d3c6bc703312d1284a81ad3c9d3ac271cadc1cb05e5585a42 gstreamer-1.0-x86_64-1.3.91-merge-modules.zip 248d5acbc573a2afaa87797a1c51fb83e652eed30fb1ffa55d9b876e77750f8a gstreamer-1.0-x86-1.3.91-merge-modules.zip As always, please let us know of any issues you run into by filing a bug in Bugzilla: http://gstreamer.freedesktop.org/bugs/ -- Sebastian Dröge, Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source
Attachment:
signature.asc
Description: This is a digitally signed message part