-This is GStreamer Plugins 0.7.6
+This is GStreamer Good Plugins 1.4.0
-Changes since 0.7.5:
+Changes since 1.2:
- * uses 0.8 as the major/minor number
- * dist fixes for generated files
- * MPEG video playback fixed
- * error call fixes
- * videodrop fixes
- * alsa oss emulation mixer fixes
- * audioconvert fixes
- * gconf versioning fixes
- * mad xing header fixes
- * vorbisdec fixes
- * mad leak and stream reporting fixes
- * media-info fixed
- * buffer leak fixes
- * osssink timing fixes
- * NAS fixes
- * cdparanoia error
+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.7.5:
-
- * 114560 : rfc2250enc produces empty buffers
- * 122279 : goom's first timestamp is broken
- * 131128 : aasink and sdlvideosink are broken
- * 133541 : int2float and int2floatnew conflict should be resolved
- * 133783 : remove deprecated plugins
- * 135597 : make gstosselement properly deal with symlinks
- * 136334 : udpsrc pads / caps error
-
-Changes since 0.7.4:
-
- * Compatible with gstreamer 0.7.5
- * ffmpeg plugin moved to gst-ffmpeg module
- * DV fixes
- * mikmod fixes
- * OSX build fixes
- * jpeg fixes
- * gdk_pixbuf fixes
- * automake 1.8 underquotedness fixes
- * rfb server/port addition
- * colorspace fixes
- * liboil usage in videofilter and videotestsrc
- * better LADSPA classification
- * ALSA xrun recovery fixes
- * switch fixes
- * xvimagesink fixes
- * moved out MAS sink
- * experimental xine lib plugin
- * intfloat and oneton removed in favour of audioconvert and interleave
- * only export gst_* from plugins
- * lame tag writing fixed
- * added reporting of codecs used
- * version gconf schemas and install locations
- * qtdemux fixes
- * gamma correction fixes
-Bugs fixed since 0.7.4:
-
- * 129740 : MP4/M4A files not recognized properly
- * 130507 : Silence/sine don't have a sync property
- * 131050 : avi-demux plays audio, but funky colors as video
- * 131534 : jhbuild build failure with Debian sid
- * 131948 : xoverlay and gstplay sample fails to build - missing include
- * 133219 : missing include in ./gst/effectv/gstedge.c
- * 133316 : gst/vbidec/vbiscreen missing cast
- * 133410 : gstid3tag doesnt handle track-count
- * 133508 : [oggdemux] Can't play files with multiple streams
- * 133528 : sincesrc seems not to register its dparams correctly
- * 133562 : Build breaks on dvdec
- * 133663 : ext/ladspa categorises all plugins as Filter/Effect
- * 133886 : libtool error while compiling alsamixer plug-in
- * 134255 : vbidec won't compile
- * 134318 : GConf schemas should be in versioned files, and install in v
- * 134322 : gst/intfloat/gstint2float.c forgets to include "inttypes.h"
- * 134612 : ext/gdk_pixbuf/Makefile: error in target install-loaderLTLIB
- * 134750 : Problem building gst-plugins on Solaris
- * 134894 : vorbisdec signals tags with bitrate < 1 (ie not set)
- * 135038 : port gst-shorten to the new caps system
- * 135042 : fix tag writing in lame
- * 135116 : gstflacenc.c fails to build in NetBSD
+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.