RELEASE: GStreamer Core, Plugins and RTSP server 1.4.0 (source & binaries)
Sebastian Dröge
sebastian at centricular.com
Mon Jul 21 00:23:35 PDT 2014
The GStreamer team is pleased to announce the first release of
the stable 1.4 release series. The 1.4 release series is adding new
features on top of the 1.0 and 1.2 series and is part of the API and
ABI-stable 1.x release series of the GStreamer multimedia framework.
Binaries for Android, iOS, Mac OS X and Windows are provided together
with this release.
The stable 1.4 release series is API and ABI compatible with 1.0.x,
1.2.x and any other 1.x release series in the future. Compared to 1.2.x
it contains some new features and more intrusive changes that were
considered too risky as a bugfix.
The versioning scheme that is used in general is that 1.x.y is API and
ABI backwards compatible with previous 1.x.y releases. If x is an even
number it is a stable release series and all releases in this series
will only contain important bugfixes, e.g. the 1.0 series with 1.0.7. If
x is odd it is a development release series that will lead to the next
stable release series 1.x+1 and contains new features and bigger
changes. During the development release series, new API can still
change.
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.
Release tarballs can be downloaded directly from:
http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.4.0.tar.xz
23c39fdc2b24f889b07cab0449825384fef7592a121e180729fd9025ec45c695 gstreamer-1.4.0.tar.xz
http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.4.0.tar.xz
5daed4b983b64e4e3fbe9cd29063e4302812cd03ba685a15b06a790911d04c1e gst-plugins-base-1.4.0.tar.xz
http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.4.0.tar.xz
48a62e7987fffa289a091dfc8ccc80b401d110632b8fc1adce5b82fc092f2685 gst-plugins-good-1.4.0.tar.xz
http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.4.0.tar.xz
ff2cb754f7725b205aec66002b1406e440f3a03194b6cad2d126ef5cd00902f9 gst-plugins-bad-1.4.0.tar.xz
http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.4.0.tar.xz
5314bb60f13d1a7b9c6317df73813af5f3f15a62c7c186b816b0024b5c61744d gst-plugins-ugly-1.4.0.tar.xz
http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.4.0.tar.xz
c82c7a657863f2e27ac5cba539b0bd0a8114ad6bd4ba33bae777e4dbfab9e380 gst-libav-1.4.0.tar.xz
http://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.4.0.tar.xz
800a93ee6de8ca3946fbb2fa3878e41af44e27dde76c9399e30b93ba3e0bffe8 gst-rtsp-server-1.4.0.tar.xz
Binaries for Android, iOS, Mac OS X and Windows are available from here:
http://gstreamer.freedesktop.org/data/pkg/android/1.4.0/
40dea53bce37cc1416723a725018a78d31ed7384204463ac09bbd3e47b003382 gstreamer-1.0-android-arm-1.4.0-debug.tar.bz2
f78f752323cc143be9c3f34ced8fff28e5959abbc929fb707896f1783c712682 gstreamer-1.0-android-arm-1.4.0-debug.zip
8a7c3bdb1ea8898c5a01e22c434772397a3c136645f89b402e18178176fd9b63 gstreamer-1.0-android-arm-1.4.0-release.tar.bz2
3682fa9c3ca25d5ea6344d75f4499103dcbfd5e4d1a5df3891c1ae265bc0e0b3 gstreamer-1.0-android-arm-1.4.0-release.zip
83ad0c47eec8bba0dd6bb3300d35a26ebe129abd28dfbe385a126c3185e1340d gstreamer-1.0-android-arm-1.4.0-debug-runtime.tar.bz2
cc2813f886cbf58ca2bcc474a3bd5a2251e93895b59121acfc71dc43bcb66284 gstreamer-1.0-android-arm-1.4.0-debug-runtime.zip
131cd8940d6c46c6dd36de52bff37afb1779a78609020a8c5e4648533a5acfdf gstreamer-1.0-android-arm-1.4.0-release-runtime.tar.bz2
4052e033daae8cadae26cc4a0e25828abbb487834a0875388c898f88658860e4 gstreamer-1.0-android-arm-1.4.0-release-runtime.zip
http://gstreamer.freedesktop.org/data/pkg/ios/1.4.0/
ceac69b0f12e182d0b34a55adf6bb427e036be113490fdae5a10691bf3c81156 gstreamer-1.0-devel-1.4.0-ios-universal.pkg
http://gstreamer.freedesktop.org/data/pkg/osx/1.4.0/
f6a1142254e248a15e2bf5b7ec3a99d0c3bf56acff1b018ae7709869a3bd28bc gstreamer-1.0-1.4.0-universal.pkg
78b9eb47b7124506d48deaed3b15bdf94ede2aa404e361a45f06f0629bb09022 gstreamer-1.0-devel-1.4.0-universal.pkg
35914862f8f0420baa14fd5f093aa4a69da568e5de3e63554f56cd3f2ca46ce0 gstreamer-1.0-1.4.0-universal-packages.dmg
http://gstreamer.freedesktop.org/data/pkg/windows/1.4.0/
da70bbdedf152fc53de8b4e07eb9ba6db80433bb25d91063f39446d48970c3c3 gstreamer-1.0-x86_64-1.4.0.msi
0f3fd1f0c9751f6dca13c41dcecc6df7ce22ba1a72cfd331453800310a8c98c6 gstreamer-1.0-x86-1.4.0.msi
76d64fbf744f1c6dd311a3970e09475541d52705743a64c9dcda29012e3c36f3 gstreamer-1.0-devel-x86_64-1.4.0.msi
d6e8b80b8aeab8400477ecf4016b6de3d23ea7d26b03d2859f613b1d541fce32 gstreamer-1.0-devel-x86-1.4.0.msi
7007cd2b99717a48ada8ad9599cde3dd0423b4e8a2ab3271055b38c791c24fa5 gstreamer-1.0-x86-1.4.0-merge-modules.zip
b53ce215e919452594a026d9fdf4b571b2d3dba5d3fba293d8f0c3c0d45ac880 gstreamer-1.0-x86_64-1.4.0-merge-modules.zip
As always, please let us know of any issues you run into by filing a bug
in Bugzilla: http://gstreamer.freedesktop.org/bugs/
--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140721/03f11265/attachment-0001.sig>
More information about the gstreamer-devel
mailing list