From 253ebde03bfae388a19dec942be0262f8fecc198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 3 May 2014 18:34:52 +0200 Subject: Release 1.3.1 --- NEWS | 213 +++++++++++++++++++++++++++++++------------------------------------ 1 file changed, 100 insertions(+), 113 deletions(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 08aeab3..b0f9a64 100644 --- a/NEWS +++ b/NEWS @@ -1,123 +1,110 @@ -This is GStreamer Libav Plugins 1.2.0 +This is GStreamer Libav 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 - - 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. -- cgit v1.2.1