-This is GStreamer RTSP Server 1.3.2
+This is GStreamer 1.6.0
-Changes since 1.2:
+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!
-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.
- • 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.
- • 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.
+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 full list of
+changes.
-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.
+Highlights
- • 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, especially time 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.
- ∘ gst-rtsp-server supports SRTP and MIKEY now.
- ∘ Lots of fixes for coverity warnings all over the place.
- ∘ 400+ fixed bug reports, and many other bug fixes and other
- improvements everywhere that had no bug report.
+- 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 supports rescaling and converting 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
-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.