Commit a2156638 authored by Sebastian Dröge's avatar Sebastian Dröge
Browse files

Release 1.5.1

parent b7455f97
This diff is collapsed.
This is GStreamer Base Plugins 1.4.0
This is GStreamer Base Plugins 1.5.1
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
• 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
• 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
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
∘ 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
∘ 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
∘ 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
• 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 notes for GStreamer Base Plugins 1.4.0
Release notes for GStreamer Base Plugins 1.5.1
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.
The GStreamer team is pleased to announce the first release of the unstable
1.5 release series. The 1.5 release series is adding new features on top of
the 1.0, 1.2 and 1.4 series and is part of the API and ABI-stable 1.x release
series of the GStreamer multimedia framework. The unstable 1.5 release series
will lead to the stable 1.6 release series in the next weeks, and newly added
API can still change until that point.
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.
Binaries for Android, iOS, Mac OS X and Windows will be provided separately
during the unstable 1.5 release series.
......@@ -67,10 +61,154 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
Bugs fixed in this release
* 733012 : playbin: *-filter properties are settable, but not gettable
* 733207 : is out of date
* 733349 : encodebin: Documentation fixes and updates for GstEncodingProfile
* 733386 : appsrc: Leaking callback user data
* 742924 : decodebin: Initial decoder negotiation will always fail
* 749676 : playbin: failed to get end-of-stream event when visualization flag is enabled
* 741355 : playbin: deadlock
* 650652 : encodebin: missing encoder error when trying to remux
* 673976 : pbutils: codec description should include profile
* 706066 : xvimagesink: Fails to allocate large xvimages but does not declare this limitation on the caps
* 722316 : playbin: flac playback broken
* 722442 : Internal data stream error in gstoggdemux.c
* 723252 : testsuite failure: libs/tag - exif tag: " Conversion from character set 'utf8' to 'latin1' is not supported "
* 725383 : uridecodebin doesn't need to set the " iradio-mode " property in the source element any more
* 726709 : playback-test: Segment seeks do not work anymore
* 727409 : streamsynchronizer: Invalid memory accesses when using uncopyable memory
* 727955 : id3v2: ignore RVA2 tags with 0 peak bits
* 728379 : appsink: add push_sample() convenience function for easy appsrc - > appsink use
* 729198 : oggdemux: add non flushing time seeking to 0 in push mode
* 729314 : ogg: sample-accurate decoding/encoding is broken
* 729760 : appsrc: Changing caps and pushing buffers is not serialized
* 731047 : ximagesink, xvimagesink: configure checks pull in libSM and libICE even though they are not used
* 732186 : videoconvert optimization
* 733147 : audio/video decoder base classes needlessly delay caps events
* 733169 : decodebin: improve deadend pads handling
* 733405 : riff: wrong channel mask in wav should be ignored
* 733482 : discoverer: Prettify tags with samples
* 733495 : uridecodebin/playbin: Does not properly do async state changes
* 733524 : ges-launch crashes with SIGABRT when using h264 encoded assets
* 733615 : decodebin: Changing state of a playbin pipeline intensively segfault with several formats
* 733720 : videodecoder: output should not have DTS
* 734350 : oggdemux: Unref peer pad after use in error case
* 734359 : tests: Add missing unrefs of objects after use
* 734424 : videorate: produces bogus output when framerate=0/1
* 734441 : videodecoder: in reverse playback, flush the output queue after decoding each keyframe chain
* 734540 : audioencoder: Mark caps argument as not being transferred
* 734541 : vorbisenc: Improve annotation of internal function
* 734650 : videoscale: Does not support NV21 format
* 734666 : audiodecoder: Don't drain and flush on SEGMENT events.
* 735509 : oggdemux: should accumulate segment.base
* 735631 : riff: Recognize RF64 as RIFF file
* 735808 : oggdemux: should not set segment.base in gst_ogg_pad_submit_packet()
* 735879 : basetetxtoverlay: make shading_value a property
* 736028 : basetextoverlay: cairo transparence setting not needed
* 736267 : rtspconnection: Be more forgiving when parsing session header in requests
* 736797 : audio: correct condition for MPEG case in iec61937 / SPDIF payloader
* 736845 : videoscale: 4Tap resize support not present for NV format
* 737072 : videopool: add missing annotation for gst_video_buffer_pool_new()
* 737138 : audioencoder: weird error handling code path
* 737400 : videoscale: Lanczos resizing for NV image format
* 737757 : decodebin: memory leak
* 738018 : typefind: #define gst_type_find_peek is not needed any more
* 738026 : audioresample: struct GstAudioResample has unused variables
* 738131 : playbin: Bogus results from GST_STATE_NULL (audio-)sink
* 738242 : textoverlay: segfault when trying to position text outside of the video frame
* 738416 : decodebin: Don't plug multiple parsers one after another
* 738568 : videotestsrc: assertion failed error
* 738984 : basetextoverlay: segfault for min/max values of element properties
* 739346 : playback-test: correct the test apps
* 739433 : video: recent video-resampler addition causes build failures when building without orc
* 739446 : audiosink, audiosrc: fix silence for unsigned pcm formats
* 739536 : subtitleoverlay: return available factory caps instead of any on caps query
* 739545 : docs: gst_dmabuf_allocator_alloc: Improve documentation
* 739546 : New socketsrc element
* 739640 : tests : fix leaks in adder unit test
* 739689 : textoverlay: not rendering when x + text_width > frame_width & & x < frame_width
* 740018 : videorate: Operate in a zero-latency mode if drop-only is set to TRUE
* 740214 : [API] encodebin: Add a way to disable caps renegotiation for output stream format
* 740422 : vorbisenc: Nothing encoded in some transcoding cases (regression)
* 740615 : alsa: warn on buffer underrun / overrun
* 740686 : audiodecoder: Error not handled in gst_audio_decoder_drain
* 740689 : decodebin/multiqueue/max-size-buffers is not set in playing state
* 740690 : Timeoverlay: add an option to choose between stream-time and running-time.
* 740693 : decodebin: Analyze source pad before setting to PAUSED for 'tag demuxers'
* 740694 : decodebin: Take STREAM_LOCK before sending sticky events.
* 740798 : videoscale: Videoscale test suite fails for 4-tap method
* 740834 : audiobasesink: racy clock jump when renegotiating
* 741015 : videoconvert: Tune quality setting to not degrade performance compared to 1.4
* 741030 : theoradec: Sets video-meta width/height from padded values
* 741097 : oggdemux: Fix seeking before the first frame.
* 741144 : id3demux: support UTF-16 - > UTF-8 conversion on systems with crippled iconv
* 741187 : [regression] ProRes files show up pink
* 741263 : videodecoder: implement caps query
* 741281 : audiorate: fill gap events
* 741501 : videopool: should update video alignment after change it
* 741640 : video-converter: support AYUV border
* 741879 : audio/videotestsrc: Report latency in live-mode
* 741987 : videoscale performance regression
* 742006 : discoverer: _get_missing_elements_installer_details() is documented to return a copy but doesn't
* 742110 : video: Add support for BT2020 colorspace (UHD)
* 742885 : decodebin: disable pad link checks as it has already been done
* 743687 : playback: gstreamer-vaapi doesn't work with Totem master
* 743834 : tcpserversink: fails with html5 < video > client
* 743900 : oggdemux gets first packet timestamp wrong - theora
* 743980 : decodebin2: crash in analyze_new_pad
* 744028 : video-converter: Converter doesn't work properly when offsets are specified
* 744070 : oggdemux: wrong duration for ogv file
* 744465 : install-plugins: add _set_desktop_id(), _set_startup_notification_id() and _set_confirm_search() API
* 744844 : playbin: forward template and ring buffer settings to existing decodebins
* 745006 : video-converter: Add frame 'alpha' property to video-converter
* 745073 : playbin, discoverer: criticals when switching from pull mode to push mode
* 745174 : gst-play: support play rate change
* 745207 : video-converter: sometimes crashes during ARGB - > BGRx conversion.
* 745337 : video: RGB15/16 pack/unpack unit test failure on big endian systems
* 745667 : volume: Unable to set the volume with gcc-4.9 on arm platform
* 745719 : video-converter: doesn't work properly with YUY2 and right border
* 745980 : ogg video file is unable to be seeked
* 746150 : multisocketsink: Map `GstMemory`s individually when sending
* 746457 : oggdemux: don't abuse GST_ERROR()
* 746466 : video: add NV61 format support
* 746480 : playbin: deadlock on PMT change in mpeg TS stream
* 746661 : audioconvert: slow dithering on architectures without 64-bit integer divide (e.g. armv7)
* 746865 : videoencoder: Keep sticky event when reset.
* 746908 : appsrc: allow sample with no caps or no buffer in push_sample()
* 747005 : audioconvert: avoid floating point calculations when mixing integer-formatted channels
* 747103 : discoverer: leak when handling toc messages
* 747190 : videodecoder: Sends GAP events before CAPS
* 747245 : navigation: Post navigation events as message on the bus
* 747283 : configure: playback and seek tests build error with gtk < 3.10.0
* 747293 : audiodecoder: Add sink and src query virtual method
* 747517 : appsrc: negotiates twice if caps are changed before pipeline starts
* 747602 : basetextoverlay: Leak in gst_base_text_overlay_text_chain
* 747624 : decodebin unit test fails: test environment not set up correctly with automake 1.11
* 747692 : check build error on osx: pipelines/tcp.c:161:34: error: use of undeclared identifier 'SOCK_CLOEXEC'
* 747790 : videoscale method=bilinear2 and UYVY/YUY2 distortion
* 747841 : gio: plugin dependencies wrong or insufficient
* 748021 : video-converter: unused variables n_taps max_taps
* 748027 : rtpbasedepayload: testcase crash
* 748247 : oggdemux: fix event leak
* 748289 : audio: " delay " virt-func mixes up samples and frames
* 748348 : video-converter: change data type of _GstLineCache::n_lines
* 748413 : xmptag: valgrind errors when printing debug output
* 748687 : video-converter: Remove unused macro
* 748814 : discoverer: add serialization/deserialization methods
* 748820 : oggdemux: remove unnecessary codes
* 748903 : fix navigation event leaks
* 748964 : oggdemux: fix chain leak
* 749104 : video-converter: Change some implicit string enums to real enums
* 749105 : videoconvert: Expose some properties from the videoconverter API
* 749528 : playbin: need to avoid duplicated flag setting
* 749530 : xvimagesink: fix pool leak
* 749632 : FTBFS when srcdir != builddir since commit bfc13c8e
* 749673 : discoverer: Serialize the top level DiscovererInfo
* 749740 : tools: gst-play: print keyboard shortcuts help in interactive mode.
* 749824 : basetextoverlay: make deltax and deltay properties controllable
* 750032 : videorate: fails to renegotiate on streams with a variable framerate
* 750096 : sdp: prevent the sdp message parser from reading past the end of the buffer
* 750325 : rtcpbuffer: Update package validation to support reduced size rtcp packets
* 750406 : audioconvert: copy all metadata.
* 738302 : videorate: Should increase minimum buffer in allocation query
* 739281 : video-blend: fix blending of rectangles partially or fully outside of the video
* 740013 : rtspconnection: There is an warning by mismatch of parameter name in header and source files
==== Download ====
......@@ -107,10 +245,76 @@ subscribe to the gstreamer-devel list.
Contributors to this release
* Aleix Conchillo Flaqué
* Alessandro Decina
* Andreas Frisch
* Andrei Sarakeev
* Andres Gomez
* Anuj Jaiswal
* Arnaud Vrac
* Arun Raghavan
* Aurélien Zanelli
* Bernhard Miller
* Branislav Katreniak
* Chad
* Chihyoung Kim
* Claudiu Florin Lazar
* Danny Song
* David Schleef
* Duncan Palmer
* Edward Hervey
* Garg
* George Kiagiadakis
* Guillaume Desmottes
* Göran Jönsson
* Heinrich Fink
* Hyunjun Ko
* Ilya Konstantinov
* Jan Alexander Steffens (heftig)
* Jan Schmidt
* Jonathan Matthew
* Jose Antonio Santos Cadenas
* Kalev Lember
* Kipp Cannon
* Luis de Bethencourt
* Mark Nauwelaerts
* Matej Knopp
* Mathieu Duponchelle
* Matthieu Bouron
* Matthieu Crapet
* Mohammed Sameer
* Nicola Murino
* Nicolas Dufresne
* Nirbheek Chauhan
* Piotr Drąg
* Ognyan Tonchev
* Olivier Crete
* Olivier Crête
* Peter G. Baum
* Ramiro Polla
* Ravi Kiran K N
* Rico Tzschichholz
* Sam Thursfield
* Sanjay NM
* Sebastian Dröge
* Sebastian Rasmussen
* Song Bing
* Sreerenj Balachandran
* Stefan Sauer
* Thiago Santos
* Thibault Saunier
* Thomas Klausner
* Thomas Roos
* Tim-Philipp Müller
* Youness Alaoui
* Vincent Penquerc'h
* Vineeth T M
* Vivia Nikolaidou
* Víctor Manuel Jáquez Leal
* Wang Xin-yu (王昕宇)
* William Manley
* Wim Taymans
* Wonchul Lee
* Young Han Lee
* Zaheer Abbas Merali
* danny song
* eunhae choi
\ No newline at end of file
......@@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file
dnl initialize autoconf
dnl releases only do -Wall, git and prerelease does -Werror too
dnl use a three digit version number for releases, and four for git/prerelease
AC_INIT([GStreamer Base Plug-ins],[],[],[gst-plugins-base])
AC_INIT([GStreamer Base Plug-ins],[1.5.1],[],[gst-plugins-base])
......@@ -59,7 +59,7 @@ dnl sets GST_LT_LDFLAGS
AS_LIBTOOL(GST, 501, 0, 501)
dnl *** required versions of GStreamer stuff ***
dnl *** autotools stuff ****
......@@ -45,7 +45,7 @@
<DEFAULT>Bilinear (2-tap)</DEFAULT>
......@@ -68,6 +68,16 @@
<NICK>Gamma Decode</NICK>
<BLURB>Decode gamma before scaling.</BLURB>
......@@ -855,7 +865,87 @@
<BLURB>Apply dithering while converting.</BLURB>
<NICK>Alpha Mode</NICK>
<BLURB>Alpha Mode to use.</BLURB>
<NICK>Alpha Value</NICK>
<BLURB>Alpha Value to use.</BLURB>
<NICK>Chroma Mode</NICK>
<BLURB>Chroma Resampling Mode.</BLURB>
<NICK>Chroma resampler</NICK>
<BLURB>Chroma resampler method.</BLURB>
<NICK>Dither Quantize</NICK>
<BLURB>Quantizer to use.</BLURB>
<NICK>Gamma Mode</NICK>
<BLURB>Gamma Conversion Mode.</BLURB>
<NICK>Matrix Mode</NICK>
<BLURB>Matrix Conversion Mode.</BLURB>
<NICK>Primaries Mode</NICK>
<BLURB>Primaries Conversion Mode.</BLURB>
......@@ -2408,3 +2498,23 @@
<BLURB>The socket to receive packets from.</BLURB>
<NICK>Time Mode</NICK>
<BLURB>What time to show.</BLURB>
......@@ -57,6 +57,7 @@ GObject
......@@ -518,3 +518,10 @@ GstCdParanoiaSrc *gstcdparanoiasrc
gint arg1
GstSocketSrc *gstsocketsrc
......@@ -3,10 +3,10 @@
<description>Adds multiple streams</description>
<package>GStreamer Base Plug-ins git</package>
<package>GStreamer Base Plug-ins source release</package>
<origin>Unknown package origin</origin>
......@@ -3,10 +3,10 @@
<description>ALSA plugin library</description>
<package>GStreamer Base Plug-ins git</package>
<package>GStreamer Base Plug-ins source release</package>
<origin>Unknown package origin</origin>
......@@ -3,10 +3,10 @@
<description>Elements used to communicate with applications</description>
<package>GStreamer Base Plug-ins git</package>
<package>GStreamer Base Plug-ins source release</package>
<origin>Unknown package origin</origin>
......@@ -3,10 +3,10 @@
<description>Convert audio to different formats</description>
<package>GStreamer Base Plug-ins git</package>
<package>GStreamer Base Plug-ins source release</package>
<origin>Unknown package origin</origin>
......@@ -3,10 +3,10 @@
<description>Adjusts audio frames</description>