-This is GStreamer Good Plug-ins 0.9.3, "Aramis"
+This is GStreamer Good Plugins 1.4.0
-Changes since 0.9.1:
+Changes since 1.2:
- * Parallel installability with 0.8.x series
- * Threadsafe design and API
+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).
-Bugs fixed since 0.9.1:
- * 316202 : MinGW compilation: undefined autoconf macro GST_DOC
- * 317338 : [osssink] can't handle mono
+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.2, 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.