1 This is GStreamer Base Plugins 1.3.3
7 • GstMessageType has GST_MESSAGE_EXTENDED added. All types before
8 that can be used together as a flags type as before, but from
9 that message onwards the types are just counted incrementally.
10 This was necessary to be able to add more message types.
11 In 2.0 GstMessageType will just become an enum and not a flags
13 • GstDeviceMonitor for device probing, e.g. to list all available
14 audio or video capture devices. This is the replacement for
15 GstPropertyProbe from 0.10.
16 • Events accumulate the running-time offset now when travelling
17 through pads, as set by the gst_pad_set_offset() function. This
18 allows to compensate for this in the QOS event for example.
19 • GstBuffer has a new flag "tag-memory" that is set automatically
20 when memory is added or removed to a buffer. This allows buffer
21 pools to detect if they can recycle a buffer or need to reset
23 • GstToc has new API to mark GstTocEntries as loops.
24 • A not-authorized resource error has been defined to notify
25 applications that accessing the resource has failed because
26 of missing authorization and to distinguish this case from others.
27 This change is actually already in 1.2.4.
28 • GstPad has a new flag "accept-intersect", that will let the default
29 ACCEPT_CAPS query handler do an intersection instead of subset check.
30 This is interesting for parser elements that can handle incomplete
32 • GstCollectPads has support for flushing and a default handler for
34 • New GstFlowAggregator helper object that simplifies handling of
35 flow returns in elements with multiple source pads. Additionally
36 GstPad now always stores the last flow return and provides an
38 • GstSegment has new API to offset the running time by a specific
39 value and this is used in GstPad to allow positive and negative
40 offsets in gst_pad_set_offset() in all situations.
41 • Support for h265/HEVC and VP8 has been added to the codec utils and codec
42 parsers library, and was integrated into various elements.
43 • API for adjusting the TLS validation of RTSP connection has been added.
44 • The RTSP and SDP library has MIKEY (RFC 3830) support now, and
45 there is API to distinguish between the different RTSP profiles.
46 • API to access RTP time information and statistics.
47 • Support for auxiliary streams was added to rtpbin.
48 • Support for tiled, raw video formats has been added.
49 • GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
50 events and merge custom tags into them consistently.
51 • GstBufferPool has support for flushing now.
52 • playbin/playsink has support for application provided audio and video
54 • GstDiscoverer has new and simplified API to get details about missing
55 plugins and information to pass to the plugin installer.
56 • The GL library was merged from gst-plugins-gl to gst-plugins-bad,
57 providing a generic infrastructure for handling GL inside GStreamer
58 pipelines and a plugin with some elements using these, especially
59 a video sink. Supported platforms currently are Android, Cocoa (OS X),
60 DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
61 Wayland and EGL platforms.
62 This replaces eglglessink and also is supposed to replace osxvideosink.
63 • New GstAggregator base class in gst-plugins-bad. This is supposed to
64 replace GstCollectPads in the future and fix long-known shortcomings
65 in its API. Together with the base class some elements are provided
66 already, like a videomixer (compositor).
70 • New plugins and elements:
71 ∘ v4l2videodec element for accessing hardware codecs on
72 platforms that make them accessible via V4L2, e.g.
73 Samsung Exynos. This comes together with major refactoring
74 of the existing V4L2 elements and the corresponding
76 The v4l2videodec element replaces the mfcdec element.
77 ∘ New downloadbuffer element that replaces the download
78 buffering feature of queue2. Compared to queue2's code
79 it is much simpler and only for this single use case.
80 A noteworthy new feature is that it's downloading gaps
81 in the already downloaded stream parts when nothing else
83 This is now used by playbin when download buffering is
85 ∘ rtpstreampay and rtpstreamdepay elements for transmitting
86 RTP packets over a stream API (e.g. TCP) according to
88 ∘ rtprtx elements for standard compliant implementation of
89 retransmissions, integrated into the rtpmanager plugin.
90 ∘ audiomixer element that mixes multiple audio streams together
91 into a single one while keeping synchronization. This is
92 planned to become the replacement of the adder element.
93 ∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
94 ∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
95 ∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
96 ∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
97 ∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
98 are available on OS X and iOS now.
101 ∘ gst-libav now uses libav 10.1, and gained support for H265/HEVC.
102 ∘ Support for hardware codecs and special memory types has been
103 improved with bugfixes and feature additions in various plugins
105 ∘ Various bugfixes and improvements to buffering in queue2 and
107 ∘ dvbsrc supports more delivery mechanisms and other features
108 now, including DVB S2 and T2 support.
109 ∘ The MPEGTS library has support for many more descriptors.
110 ∘ Major improvements to tsdemux and tsparse, especially time and
112 ∘ souphttpsrc now has support for keep-alive connections,
113 compression, configurable number of retries and configuration
114 for SSL certificate validation.
115 ∘ hlsdemux has undergone major refactoring and works more
116 reliable now and supports more HLS features like trick modes.
117 Also fragments are pushed downstream while they're downloaded
118 now instead of waiting for each fragment to finish.
119 ∘ dashdemux and mssdemux are now also pushing fragments downstream
120 while they're downloaded instead of waiting for each fragment to
122 ∘ videoflip can automatically flip based on the orientation tag.
123 ∘ openjpeg supports the OpenJPEG2 API.
124 ∘ waylandsink was refactored and should be more useful now. It also
125 includes a small library which most likely is going to be removed
126 in the future and will result in extensions to the GstVideoOverlay
128 ∘ gst-rtsp-server supports SRTP and MIKEY now.
129 ∘ gst-libav encoders are now negotiating any profile/level settings
130 with downstream via caps.
131 ∘ Lots of fixes for coverity warnings all over the place.
132 ∘ Negotiation related performance improvements.
133 ∘ 500+ fixed bug reports, and many other bug fixes and other
134 improvements everywhere that had no bug report.
136 Things to look out for:
137 • The eglglessink element was removed and replaced by the glimagesink
139 • The mfcdec element was removed and replaced by v4l2videodec.
140 • osxvideosink is only available in OS X 10.6 or newer.
141 • The GstDeviceMonitor API will likely change slightly before the