| This is GStreamer Bad Plugins 1.4.0 |
| |
| Changes since 1.2: |
| |
| 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). |
| |
| |
| 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. |