summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS213
1 files changed, 100 insertions, 113 deletions
diff --git a/NEWS b/NEWS
index 9e3162b3..e9884687 100644
--- a/NEWS
+++ b/NEWS
@@ -1,123 +1,110 @@
-This is GStreamer Ugly Plugins 1.2.0
+This is GStreamer Ugly Plugins 1.3.1
-Changes since 1.0:
+Changes since 1.2:
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
- • The stream-start even has an optional group-id field now to signal
- all streams that should be played together
- • 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)
- • MPEG-TS data structure library (in -bad for now)
- • New GstVideoRegionOfInterestMeta to describe a region of interest on
- video frames.
- • GstVideoDecoder/Encoder has new ::flush() vfunc to replace the
- ill-defined ::reset() vfunc.
- • The URI query allows to query the redirected URI now.
+ • 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.
+ • 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.
-Major changes:
- • New tool: gst-play-1.0 in gst-plugins-base for basic playback
- testing on the command line.
- • 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
- ∘ daala for experimental Daala decoding and encoding
- ∘ vpx plugin has experimental VP9 decoding and encoding support
- ∘ webp plugin for WebP decoding (encoding to be added later)
- ∘ 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 chroma siting conversion is better handled
- in videoconvert and the support for interlaced video was improved.
- ∘ New pinwheel and spoke patterns in videotestsrc
- ∘ videomixer can now accept different video formats on its sinkpads
- and converts to a common format during mixing
- • Audio:
- ∘ audioconvert will try harder to minimise quality losses when
- conversion is necessary
- ∘ adder now allows muting/unmuting of its input streams, and also
- per-input stream volume
- ∘ pulseaudio elements can switch between devices during playback now
- ∘ aacparse can convert between ADTS←→RAW
-
- • 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)
- ∘ Linux/BSD: v4l2 had many improvements and cleanups
+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.
+ ∘ 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 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
- ∘ RTP retransmission / NACK support and big RTP jitterbuffer improvements
- ∘ SRTP and DTLS support
- ∘ Changes to many elements and core to use the correct sticky event
- order and also not lose any important sticky events during flushing
- ∘ >1000 fixed bug reports, and many other bug fixes and other
- improvements everywhere that had no bug report
+ ∘ gst-libav now uses libav 10, 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.
+ ∘ 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.
Things to look out for:
- • Single header includes for all libraries, e.g. #include
- <gst/video/video.h> - this was needed for some bindings.
- • 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 CFLAGS
- • x264enc now outputs data in byte-stream by default if downstream has
- ANY caps (e.g. appsink without caps set, filesink, udpsink,
- tcpserversink etc.)
- • The MPEG TS demuxer posts messages contain the PMT, PAT, etc. in a
- different format now. This new format uses the data structures from
- the new MPEGTS library
- • The GstContext API has changed between 1.1.4 and 1.1.90
+ • 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.