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

Release 1.2.0

parent 74d2a196
=== release 1.2.0 ===
2013-09-24 Sebastian Dröge <>
releasing 1.2.0
2013-09-24 13:10:36 +0200 Sebastian Dröge <>
* tests/check/gst/gstcontext.c:
context: Add test for the context caching in GstBin
2013-09-24 12:47:52 +0200 Sebastian Dröge <>
* plugins/elements/gstfakesink.c:
* plugins/elements/gstfakesink.h:
Revert "Potential GstContext regression"
This reverts commit e658379534eb4a90b654d90f1d0bdf86f37c6e31.
This test commit should've never been pushed. Oops.
2013-09-24 12:46:52 +0200 Sebastian Dröge <>
* gst/gstbin.c:
bin: Make sure to cache context types that we did not store yet
2013-09-24 10:29:06 +0100 Alex Ashley <>
* plugins/elements/gstfakesink.c:
* plugins/elements/gstfakesink.h:
Potential GstContext regression
Since the refactoring of GstContext (commits
d367dc1b0d4ecb37f4d27267e03d7bf0c6c06a6, and
82d158aed3f2e8545e1e7d35085085ff58f18) I am no longer able to get
a shared context for an element that is used twice in a pipeline.
I used the documentation and eglglessink as my reference for
implementing the GstContext logic.
As the code was tied to a hardware decoder, I have ported the
GstContext code to fakesink to show the problem. Using the old
API a single ExampleMgr instance is created, but using the new
API each element is creating its own instance.
2013-09-24 10:42:06 +0200 Sebastian Dröge <>
* libs/gst/base/gstcollectpads.c:
collectpads: Make sure that the object lock is always taken when accessing the private pad list
2013-09-17 23:23:34 +0200 Mathieu Duponchelle <>
* libs/gst/base/gstcollectpads.c:
collectpads: Use private pad list in set_flushing_unlocked
pads->data is the public list. It is dynamically rebuilt at each call to
check_collected, in check_pads to be specific. When you add a pad and
collectpads have been started, it is not added to the public list.
Thus there exists a possible race where :
1) You would add a pad to collectpads while running.
2) You set collectpads to flushing before check_collected has been called again
-> the pad is not set to flushing
3) the pad starts pushing data as downstream might not be prepared, in the case
of adder it then returns FLOW_FLUSHING.
4) elements like demuxers, when they get a FLOW_FLUSHING, stop their tasks,
never to be seen again.
2013-09-23 11:47:14 +0200 Wim Taymans <>
* libs/gst/check/gsttestclock.c:
* tests/check/libs/gsttestclock.c:
tests: handle unscheduled entries correctly
Make the testclock return GST_CLOCK_UNSCHEDULED when an unscheduled entry is
used for gst_clock_wait() or gst_clock_wait_async().
2013-09-22 11:09:36 +0200 Edward Hervey <>
* scripts/gst-uninstalled:
gst-uninstalled: Allow specifying the checkout directory by env variable
For some rare cases, one might not be able to use the hardcoded $HOME/gst
location yet would still want to use the gst-uninstalled script as-is (which
has the benefit of being constantly updated).
For these cases, the checkout directory can be specified with the
GST_UNINSTALLED_ROOT environment variable.
export GST_UNINSTALLED_ROOT=$HOME/somewhere/with/checkouts
And then just call gst-uninstalled directly:
2013-09-20 16:16:26 +0200 Edward Hervey <>
* common:
Automatic update of common submodule
From b613661 to 6b03ba7
2013-09-19 18:42:31 +0100 Tim-Philipp Müller <>
* common:
Automatic update of common submodule
From 74a6857 to b613661
2013-09-19 17:34:27 +0100 Tim-Philipp Müller <>
* common:
Automatic update of common submodule
From 12af105 to 74a6857
2013-09-19 17:12:14 +0100 Tim-Philipp Müller <>
* libs/gst/check/gsttestclock.c:
check: testclock: fix function guards
Should be g_return_*() not g_assert(), even if it's for tests only.
2013-09-19 16:43:18 +0100 Tim-Philipp Müller <>
* libs/gst/check/gsttestclock.c:
check: testclock: don't put code with side-effects in g_assert()
Fixes unit test failures when -DG_DISABLE_ASSERT is used.
2013-09-19 12:07:56 +0200 Edward Hervey <>
* gst/gstcontext.c:
gstcontext: Fix return values some more
Return value is a boolean not a pointer
2013-09-19 11:49:26 +0200 Sebastian Dröge <>
* gst/gstcontext.c:
context: Fix return values for gst_context_has_context_type() in assertions
2013-09-19 11:34:51 +0200 Sebastian Dröge <>
Back to development
=== release 1.1.90 ===
2013-09-19 Sebastian Dröge <>
2013-09-19 10:48:24 +0200 Sebastian Dröge <>
* ChangeLog:
releasing 1.1.90
* docs/plugins/inspect/plugin-coreelements.xml:
* gstreamer.doap:
* win32/common/config.h:
* win32/common/gstenumtypes.c:
* win32/common/gstversion.h:
Release 1.1.90
2013-09-19 10:05:51 +0200 Sebastian Dröge <>
* po/af.po:
* po/az.po:
* po/be.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/nb.po:
* po/nl.po:
* po/pl.po:
* po/pt_BR.po:
* po/ro.po:
* po/ru.po:
* po/rw.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:
* po/zh_TW.po:
Update .po files
2013-09-19 09:49:40 +0200 Sebastian Dröge <>
This is GStreamer 1.1.90
This is GStreamer 1.2.0
Changes since 1.0:
New API:
• GstContext negotiation / sharing / announcing for sharing a
generic context between elements, e.g. a display handle
• GL texture upload conversion meta for allowing different
buffer types to be converted to an OpenGL texture
• GstCapsFeatures as extension to GstCaps for allowing the
negotiation of specific memory or meta requirements between
• GstMemory flags for contiguous and non-mappable memory
• The stream-start event has optional flags now, e.g. for signalling
sparse streams
• The stream-start even has an optional group-id field now to signal
all streams that should be played together
• Allocators library in gst-plugins-base, currently only with generic
dmabuf memory support
• insertbin library for easier handling of dynamically linked
pipelines (in -bad for now)
• EGL helper library (in -bad for now)
• MPEG-TS data structure library (in -bad for now)
• New GstVideoRegionOfInterestMeta to describe a region of interest on
video frames.
• GstVideoDecoder/Encoder has new ::flush() vfunc to replace the
ill-defined ::reset() vfunc.
• The URI query allows to query the redirected URI now.
Major changes:
• New tool: gst-play-1.0 in gst-plugins-base for basic playback
testing on the command line.
• New plugins:
∘ mssdemux for Microsoft Smooth Streaming
∘ dashdemux for DASH adaptive streaming protocol
∘ bluez for interaction with Bluetooth devices
∘ openjpeg for JPEG2000 decoding and encoding
∘ daala for experimental Daala decoding and encoding
∘ vpx plugin has experimental VP9 decoding and encoding support
∘ webp plugin for WebP decoding (encoding to be added later)
∘ Various others: yadif, srtp, sbc, fluidsynth, midiparse,
mfc, ivtv, accuraterip and audiofxbad
• Moved plugins:
∘ dtmf, vp8rtp, scaletempo and rtpmux plugins are in
gst-plugins-good now
• Video:
∘ Fix handling of interlaced video in converters such as videoscale
and videoconvert (e.g. scale both fields independently)
∘ videoconvert will try harder to minimise quality losses when
conversion is necessary
∘ The experimental GstSurfaceConverter, GstSurfaceMeta and
GstVideoContext APIs from the (confusingly-named)
libgstbasevideo-1.0 library in gst-plugins-bad have now been
removed and been replaced by new APIs in GStreamer Core and
gst-plugins-base (see above). Since that was all that was left in
this library, the entire experimental libgstbasevideo-1.0 library
has been removed from gst-plugins-bad
∘ Chroma subsampling and chroma siting conversion is better handled
in videoconvert and the support for interlaced video was improved.
∘ New pinwheel and spoke patterns in videotestsrc
∘ videomixer can now accept different video formats on its sinkpads
and converts to a common format during mixing
• Audio:
∘ audioconvert will try harder to minimise quality losses when
conversion is necessary
∘ adder now allows muting/unmuting of its input streams, and also
per-input stream volume
∘ pulseaudio elements can switch between devices during playback now
∘ aacparse can convert between ADTS←→RAW
• Platform specific changes:
∘ Caps, events, etc. are now printed in the GStreamer debug logs
with their content instead of just the pointer address even on
non-glibc platforms (e.g. Windows, OSX, Android).
∘ Network elements (UDP/TCP) now work better with platforms,
where IPv6 sockets can't handle IPv4 (e.g. Windows)
∘ Linux/BSD: v4l2 had many improvements and cleanups
• Other changes:
∘ gst-libav now uses libav 9
∘ Static linking of plugins is supported now (also in 1.0.7)
∘ rtspsrc: add support for NetClientClock: when the server suggests a
GstNetTimeProvider in the SDP, set up a GstNetClientClock that
slaves to the remote clock and suggest this clock in provide_clock.
Simplifies synchronized playback of a resource from an RTSP server.
gst-rtsp-server now supports adding this to the SDP and can provide
a network clock
∘ RTP retransmission / NACK support and big RTP jitterbuffer improvements
∘ SRTP and DTLS support
∘ Changes to many elements and core to use the correct sticky event
order and also not lose any important sticky events during flushing
∘ >1000 fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report
Things to look out for:
• Single header includes for all libraries, e.g. #include
<gst/video/video.h> - this was needed for some bindings.
• Stricter (correct) caps subset checking in some cases where this was
not correct before. Caps will now always fail to be a compatible
subset of another set of caps if the subset caps are missing some
fields that the superset caps have. This might lead to not-negotiated
errors if caps are incomplete now. However, it also prevents possible
data corruption caused by piping data formatted in an
incompatible/unexpected way into some elements. Check your h264 caps
for stream-format and alignment fields and AAC caps for the
stream-format field. This change will also be included in the next
stable 1.0.8 release.
• Stricter checking for missing events and correct sticky event order
(stream-start, caps, segment) in some places; this is not enabled in
stable releases by default, but you may get warnings when using git
builds, development releases or when compiling with
• x264enc now outputs data in byte-stream by default if downstream has
ANY caps (e.g. appsink without caps set, filesink, udpsink,
tcpserversink etc.)
• The MPEG TS demuxer posts messages contain the PMT, PAT, etc. in a
different format now. This new format uses the data structures from
the new MPEGTS library
• The GstContext API has changed between 1.1.4 and 1.1.90
Release notes for GStreamer 1.1.90
Release notes for GStreamer 1.2.0
The GStreamer team is proud to announce a new bug-fix release
The GStreamer team is proud to announce a new feature release
in the 1.x stable series of the
core of the GStreamer streaming media framework.
......@@ -42,12 +42,10 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
Bugs fixed in this release
* 701996 : context: Still inconvenient to use and racy
* 707088 : capsfilter: Don't forget to update pending_events.
* 707130 : output-selector: Changes the start of the segment it sends to a pad when making it active
* 707156 : multiqueue: Lowering single queue limits below automatically detected limits can cause the pipeline to starve
* 707648 : queue2: Update the buffering state before stalling for more data
* 707657 : tests/capsfilter: Improving check test code coverage...
* 706551 : gsttestclock check failed
* 708605 : testclock: Does not handle unscheduled entries correctly
* 708636 : collectpads: Should set *all* its pads to flushing when set_flushing is called, not only the ones in the public list
* 708668 : context: Potential regression
==== Download ====
......@@ -84,15 +82,10 @@ subscribe to the gstreamer-devel list.
Contributors to this release
* Christian Fredrik Kalager Schaller
* Gustavo Noronha Silva
* Jonas Holmberg
* Matej Knopp
* Alex Ashley
* Edward Hervey
* Mathieu Duponchelle
* Rico Tzschichholz
* Sebastian Dröge
* Sebastian Rasmussen
* Thiago Santos
* Tim-Philipp Müller
* Zaheer Abbas Merali
* Wim Taymans
\ No newline at end of file
......@@ -4,7 +4,7 @@ dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, git and prerelease does Werror too
dnl initialize automake (we require GNU make)
......@@ -64,7 +64,7 @@ dnl 1.2.5 => 205
dnl 1.10.9 (who knows) => 1009
AS_LIBTOOL(GST, 190, 0, 190)
AS_LIBTOOL(GST, 200, 0, 200)
dnl *** autotools stuff ****
......@@ -3,7 +3,7 @@
<description>GStreamer core elements</description>
<package>GStreamer source release</package>
......@@ -38,6 +38,16 @@ hierarchy, and a set of media-agnostic core elements.
<file-release rdf:resource="" />
......@@ -62,7 +62,7 @@
#define GST_PACKAGE_ORIGIN "Unknown package origin"
/* GStreamer package release date/time for plugins as YYYY-MM-DD */
/* Define if static plugins should be built */
......@@ -354,7 +354,7 @@
#define PACKAGE_NAME "GStreamer"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "GStreamer 1.1.90"
#define PACKAGE_STRING "GStreamer 1.2.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gstreamer"
......@@ -363,7 +363,7 @@
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.1.90"
#define PACKAGE_VERSION "1.2.0"
/* directory where plugins are located */
#ifdef _DEBUG
......@@ -401,7 +401,7 @@
/* Version number of package */
#define VERSION "1.1.90"
#define VERSION "1.2.0"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
......@@ -51,13 +51,13 @@ G_BEGIN_DECLS
* The minor version of GStreamer at compile time:
* The micro version of GStreamer at compile time:
#define GST_VERSION_MICRO (90)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment