Commit 988f53ed authored by Sebastian Dröge's avatar Sebastian Dröge

Release 1.3.3

parent cc429be8
=== release 1.3.3 ===
2014-06-22 Sebastian Dröge <>
releasing 1.3.3
2014-06-22 14:23:32 +0200 Sebastian Dröge <>
* po/da.po:
* po/de.po:
* po/hu.po:
* po/id.po:
* po/nl.po:
* po/pl.po:
* po/ru.po:
* po/sr.po:
* po/uk.po:
po: Update translations
2014-06-20 11:00:14 +0200 Sebastian Dröge <>
* gst-libs/gst/audio/gstaudiodecoder.c:
* tests/check/libs/audiodecoder.c:
audiodecoder: Don't be too picky about the output frame counter
With most decoder libraries, and especially when accessing codecs via
OpenMAX or similar APIs, we don't have the ability to properly related
the output buffers to a number of input samples. And could e.g. get
a fractional number of input buffers decoded at a time.
Previously this would in the end lead to an error message and stopped
playback. Change it to a warning message instead and try to handle it
gracefully. In theory the subclass can now get timestamp tracking
wrong if it completely misuses the API, but if on average it behaves
correct (and gst-omx and others do) it will continue to work properly.
Also add a test for the new behaviour.
We don't change it in the encoder yet as that requires more internal logic
changes AFAIU and I'm not aware of a case where this was a problem so far.
2014-06-12 12:36:26 +0200 Michael Olbrich <>
* gst/tcp/gsttcpserversrc.c:
tcpserversrc: close the server socket after accepting a connection
g_socket_accept() is only called once for a server socket. So
keeping the socket open ist just confusing possible clients.
2014-06-13 10:04:47 +0100 Tim-Philipp Müller <>
* gst/tcp/gsttcpclientsrc.c:
tcpclientsrc: return FLUSHING when select() is canceled
2014-06-12 13:23:29 +0200 Michael Olbrich <>
* gst/tcp/gsttcpserversrc.c:
tcpserversrc: return FLOW_FLUSHING instead of an error when accept/select is canceled
Canceling the accept/select happens when the source is shut down. This is
not an error and the GST_FLOW_ERROR causes problems when only part of the
pipeline is shut down.
2014-06-12 11:55:59 +0200 Edward Hervey <>
* gst-libs/gst/sdp/gstmikey.c:
mikey: Fix Wall to NTP conversion
We are scaling from a unit in microseconds to a unit in ((1 << 32) per seconds).
We therefore scale the microseconds values by:
value of a second in the target unit (1 << 32)
value of a second in the origin format (1 000 000 microsecond)
2014-06-06 12:18:49 +0100 Vincent Penquerc'h <>
* ext/ogg/gstoggdemux.c:
oggdemux: allow unset seek stop time in push mode
2014-06-11 12:50:23 +0100 Tim-Philipp Müller <>
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
docs: add streamsynchronizer to documentation
2014-06-11 12:43:35 +0100 Tim-Philipp Müller <>
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
docs: add playsink element to documentation
2014-06-11 10:53:50 +0100 Tim-Philipp Müller <>
* docs/libs/gst-plugins-base-libs-docs.sgml:
docs: add navigation interface to docs
2014-06-10 12:59:53 -0300 Thiago Santos <>
* gst-libs/gst/app/gstappsrc.c:
appsrc: add send_event handler for flushing
Adds a send_event handling for allowing appsrc to flush its internal
data, allowing users to flush the pipeline without setting it to null.
2014-06-09 21:05:00 -0300 Thiago Santos <>
* gst/videoscale/vs_fill_borders.c:
* gst/videoscale/vs_image.h:
videoscale: vs_image: strides are a gsize
The strides that are set from the GstVideoInfo structs are
a gsize. Using an int can cause overflows when dealing with large
enough images
2014-06-09 19:44:56 -0300 Thiago Santos <>
* gst-libs/gst/video/video-info.c:
* tests/check/libs/video.c:
video: avoid overflows when doing int operations for size
size is a gsize, so cast the operands to it to avoid overflows
and setting wrong value to the video size.
Includes tests.
2014-06-09 10:53:03 +0200 Edward Hervey <>
* ext/theora/gsttheoraenc.c:
theoraenc: Remove unneeded check
running timestamps are guaranteed to be positive and valid since the
GstVideoEncoder base class will clip incoming buffers
CID #1139797
2014-06-09 10:38:53 +0200 Edward Hervey <>
* ext/vorbis/gstvorbisenc.c:
vorbisenc: add missing va_end in variadic function
Coverity 1139944
2014-06-06 10:35:31 +0100 Vincent Penquerc'h <>
* tests/check/libs/videodecoder.c:
tests: fix uninitialized variable use in video decoder test
2014-06-05 15:35:31 +0200 Sebastian Dröge <>
* gst/playback/gsturidecodebin.c:
uridecodebin: Also catch CODEC_NOT_FOUND errors and delay them until all decodebins are done
2014-06-04 17:00:34 +0200 Sebastian Dröge <>
* gst/playback/gsturidecodebin.c:
uridecodebin: Ignore missing-plugin messages unless all decodebins post one
When playing RTSP streams there will be one decodebin per stream. If some of
them fail because of a missing plugin we should not fail completely but play
the supported streams at least.
2014-06-04 14:14:14 +0200 Sebastian Dröge <>
* gst/playback/gstdecodebin2.c:
decodebin: Do async-done on expose errors too
2014-05-20 12:28:15 +0200 Michael Olbrich <>
* gst-libs/gst/allocators/gstdmabuf.c:
dmabuf: fix checking mmap flags
A simple '&' is not sufficiant. With mmapping_flags == PROT_READ and
prot == PROT_READ|PROT_WRITE the check produces the wrong result.
Change the check to make sure that prot is a subset of mmapping_flags.
2014-06-03 15:16:44 +0100 Vincent Penquerc'h <>
* ext/alsa/gstalsasink.c:
alsasink: make gst-ident happy
2014-06-03 15:10:33 +0100 Vincent Penquerc'h <>
* ext/alsa/gstalsasink.c:
alsasink: fix occasional crash intersecting invalid values
When a pipeline using alsasink and push mode upstream fails
to preroll, the following state will be the case:
- A loop upstream will be PAUSED, pushing a first buffer
- alsasink will be READY, pending PAUSED, because async
On error, the pipeline will switch to NULL. alsasink is in
READY, so goes to NULL immediately. It zeroes its cached
caps. Meanwhile, the upstream loop can cause a caps query,
conccurent with the state change. This will use those cached
caps. If the zeroing happens between the NULL test and the
dereferencing, GStreamer will critical down in the GstValue
Since it appears that such a gap between states (PAUSED
and pushing upstream, and NULL downstream) is expected, we
need to protect the read/write access to the cached caps.
This fixes the critical.
2013-10-14 18:56:55 -0300 Thibault Saunier <>
* gst-libs/gst/video/gstvideodecoder.c:
* tests/check/libs/videodecoder.c:
videodecoder: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.
+ Add a testcase
2013-10-14 18:48:08 -0300 Thibault Saunier <>
* gst-libs/gst/audio/gstaudiodecoder.c:
* tests/check/libs/audiodecoder.c:
audiodecoder: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.
2013-10-14 18:45:10 -0300 Thibault Saunier <>
* gst-libs/gst/video/gstvideoencoder.c:
* tests/check/libs/videoencoder.c:
videoencoder: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.
2013-10-10 18:50:17 -0300 Thibault Saunier <>
* gst/encoding/gststreamsplitter.c:
streamsplitter: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.
2013-10-10 18:48:47 -0300 Thibault Saunier <>
* gst-libs/gst/audio/gstaudioencoder.c:
* tests/check/libs/audioencoder.c:
audioencoder: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.
2014-06-02 12:40:27 +0100 Vincent Penquerc'h <>
* ext/ogg/gstoggstream.c:
oggstream: consider all opus packets as "keyframes"
This lets oggdemux determine they are not delta units, and removes
spurious per packet warnings about being unable to determine the
packet's keyframeness.
2014-05-12 17:13:50 +0200 Edward Hervey <>
* gst-libs/gst/sdp/gstmikey.c:
mikey: Free MikeyPayload in error cases
CID #1212136
2014-03-16 14:27:30 -0300 Thiago Santos <>
* gst/playback/gstdecodebin2.c:
* tests/check/elements/decodebin.c:
decodebin: aggregate buffering messages
Aggregate buffering messages to only post the lower value
to avoid setting pipeline to playing while any multiqueue
is still buffering.
There are 3 scenarios where the entries should be removed from
the list:
1) When decodebin is set to READY
2) When an element posts a 100% buffering (already implemented)
3) When a multiqueue is removed from decodebin.
For item 3 we don't need to handle it because this should only
happen when either 1 is hapenning or when it is playing a
chained file, for which number 2 should have happened for the
previous stream to finish
2014-05-28 10:23:24 +0100 Philip Withnall <>
* gst-libs/gst/audio/audio-format.c:
audio: Add a missing precondition to gst_audio_format_from_string()
2014-05-26 20:57:30 -0300 Thiago Santos <>
* tests/check/libs/audiodecoder.c:
* tests/check/libs/videodecoder.c:
tests: videodecoder: audiodecoder: add tests for eos after segment
Tests that pushing a buffer after the segment returns EOS
2014-05-26 21:24:07 -0300 Thiago Santos <>
* gst-libs/gst/video/gstvideodecoder.c:
videodecoder: actually return the push result in backwards playback
It was always returning _OK regardless of what downstream returned
2014-05-26 12:44:48 -0300 Thiago Santos <>
* gst-libs/gst/video/gstvideodecoder.c:
videodecoder: return EOS when segment is over
if a buffer is clipped by being completely out of segment, check if this
buffer is after the end of the segment and return EOS upstream
2014-05-26 12:44:38 -0300 Thiago Santos <>
* gst-libs/gst/audio/gstaudiodecoder.c:
audiodecoder: return EOS when segment is over
if a buffer is clipped by being completely out of segment, check if this
buffer is after the end of the segment and return EOS upstream
2014-05-26 11:45:29 -0300 Thiago Santos <>
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggdemux.h:
oggdemux: use new gstutils helper GstFlowCombiner
Fixes the handling of GST_FLOW_EOS by using the helper object
from gstutils that does the correct combination of flow returns.
2014-05-23 19:21:35 +0100 Tim-Philipp Müller <>
* tools/gst-play.c:
tools: play: use cubic volume factor when adjusting volume
This is more natural and better-suited for a playback application.
2014-05-21 13:23:24 +0200 Sebastian Dröge <>
Back to development
=== release 1.3.2 ===
2014-05-21 Sebastian Dröge <>
2014-05-21 13:06:34 +0200 Sebastian Dröge <>
* ChangeLog:
* common:
releasing 1.3.2
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-app.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-encoding.xml:
* docs/plugins/inspect/plugin-gio.xml:
* docs/plugins/inspect/plugin-ivorbisdec.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-videoconvert.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* gst-plugins-base.doap:
* win32/common/_stdint.h:
* win32/common/config.h:
Release 1.3.2
2014-05-21 12:01:15 +0200 Sebastian Dröge <>
* po/af.po:
* po/az.po:
* po/bg.po:
* po/ca.po:
* po/cs.po:
* po/da.po:
* po/de.po:
* po/el.po:
* po/en_GB.po:
* po/eo.po:
* po/es.po:
* po/eu.po:
* po/fi.po:
* po/fr.po:
* po/gl.po:
* po/hr.po:
* po/hu.po:
* po/id.po:
* po/it.po:
* po/ja.po:
* po/lt.po:
* po/lv.po:
* po/nb.po:
* po/nl.po:
* po/or.po:
* po/pl.po:
* po/pt_BR.po:
* po/ro.po:
* po/ru.po:
* po/sk.po:
* po/sl.po:
* po/sq.po:
* po/sr.po:
* po/sv.po:
* po/tr.po:
* po/uk.po:
* po/vi.po:
* po/zh_CN.po:
Update .po files
2014-05-21 10:50:56 +0200 Sebastian Dröge <>
This is GStreamer Base Plugins 1.3.2
This is GStreamer Base Plugins 1.3.3
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
......@@ -30,6 +31,10 @@ New API:
• 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.
......@@ -43,6 +48,7 @@ New API:
• 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
......@@ -54,6 +60,10 @@ New API:
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:
......@@ -97,7 +107,8 @@ Major changes:
∘ 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.
∘ 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.
......@@ -110,9 +121,16 @@ Major changes:
∘ 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.
∘ 400+ fixed bug reports, and many other bug fixes and other
∘ Negotiation related performance improvements.
∘ 500+ fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report.
Things to look out for:
......@@ -120,3 +138,5 @@ Things to look out for:
• The mfcdec element was removed and replaced by v4l2videodec.
• osxvideosink is only available in OS X 10.6 or newer.
• The GstDeviceMonitor API will likely change slightly before the
1.4.0 release.
Release notes for GStreamer Base Plugins 1.3.2
Release notes for GStreamer Base Plugins 1.3.3
The GStreamer team is pleased to announce the second release of the unstable
The GStreamer team is pleased to announce the third release of the unstable
1.3 release series. The 1.3 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 unstable 1.3 release series
......@@ -10,23 +10,15 @@ will lead to the stable 1.4 release series in the next weeks, and newly added
API can still change until that point.
This is hopefully the last 1.3 development release and will be followed by
the first 1.4.0 release candidate (1.3.90) in 1-2 weeks. Which then hopefully
is followed by 1.4.0 soonish in early July.
Binaries for Android, iOS, Mac OS X and Windows will be provided separately
during the unstable 1.3 release series.
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
This module contains a set of reference plugins, base classes for other
plugins, and helper libraries. It also includes essential elements such
as audio and video format converters, and higher-level components like playbin,
......@@ -73,15 +65,15 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
Bugs fixed in this release
* 720596 : discoverer: Rework the API to make " install missing plugin " feature cleaner
* 729514 : rtsp: fails to build on Windows, undefined refs to getsockname and setsockopt
* 729515 : W32: playback-test fails to build due to warnings
* 729617 : playback-test: crash when setting buffer-size property on playbin
* 729632 : rtspconnection: crashing sometimes when addinging a read source
* 730010 : gst-play: audio_sink and video_sink strings are not freed
* 730368 : Add a read source on write socket when tunnel lost.
* 730441 : dmabuf: shared the mapping with shared copies of the memory
* 729513 : W32: -base erroneously detects X11 headers from tcl/tk
* 709868 : Keep still meaningfull pending events on FLUSH_STOP
* 724231 : appsrc: handle flushing from send_event
* 730559 : dmabuf: fix checking mmap flags
* 730749 : Failed to determine keyframeness of audio/x-opus packet
* 730868 : uridecodebin: Does not handle RTSP streams where one of the payload formats is not supported properly
* 730874 : audio: Add a missing precondition to gst_audio_format_from_string()
* 731121 : alsasink: Race condition causes alsasink to use invalid caps when a pipeline fails to start
* 731566 : tcpserversrc: close the server socket after accepting a connection
* 731567 : tcpserversrc: return GST_FLOW_FLUSHING instead of GST_FLOW_ERROR when accept is canceled
==== Download ====
......@@ -118,17 +110,12 @@ subscribe to the gstreamer-devel list.
Contributors to this release
* Anuj Jaiswal
* Edward Hervey
* Göran Jönsson
* Luis de Bethencourt
* Michael Olbrich
* Nicolas Dufresne
* Ravi Kiran K N
* Philip Withnall
* Sebastian Dröge
* Thiago Santos
* Thibault Saunier
* Tim-Philipp Müller
* Vincent Penquerc'h
* Wim Taymans
* Руслан Ижбулатов
\ 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.3.3],[],[gst-plugins-base])
......@@ -56,10 +56,10 @@ dnl 1.2.5 => 205
dnl 1.10.9 (who knows) => 1009
AS_LIBTOOL(GST, 302, 0, 302)
AS_LIBTOOL(GST, 303, 0, 303)
dnl *** required versions of GStreamer stuff ***
dnl *** autotools stuff ****
......@@ -3,7 +3,7 @@
<description>Adds multiple streams</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>ALSA plugin library</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>Elements used to communicate with applications</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>Convert audio to different formats</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>Adjusts audio frames</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>Resamples audio</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>Creates audio test signals of given frequency and volume</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>Read audio from CD in paranoid mode</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>various encoding-related elements</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>GIO elements</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>Vorbis Tremor decoder</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>libvisual visualization plugins</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>ogg stream manipulation (info about ogg:</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>Pango-based text rendering and overlay</description>
<package>GStreamer Base Plug-ins source release</package>
......@@ -3,7 +3,7 @@
<description>various playback elements</description>