Release 1.2.0

This commit is contained in:
Sebastian Dröge 2013-09-24 14:07:02 +02:00
parent 74d2a1964b
commit cd202c647b
8 changed files with 344 additions and 29 deletions

197
ChangeLog
View file

@ -1,9 +1,200 @@
=== release 1.1.90 === === release 1.2.0 ===
2013-09-19 Sebastian Dröge <sebastian.droege@collabora.co.uk> 2013-09-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* configure.ac: * configure.ac:
releasing 1.1.90 releasing 1.2.0
2013-09-24 13:10:36 +0200 Sebastian Dröge <slomo@circular-chaos.org>
* tests/check/gst/gstcontext.c:
context: Add test for the context caching in GstBin
https://bugzilla.gnome.org/show_bug.cgi?id=708668
2013-09-24 12:47:52 +0200 Sebastian Dröge <slomo@circular-chaos.org>
* 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 <slomo@circular-chaos.org>
* gst/gstbin.c:
bin: Make sure to cache context types that we did not store yet
https://bugzilla.gnome.org/show_bug.cgi?id=708668
2013-09-24 10:29:06 +0100 Alex Ashley <bugzilla@ashley-family.net>
* plugins/elements/gstfakesink.c:
* plugins/elements/gstfakesink.h:
Potential GstContext regression
Since the refactoring of GstContext (commits
qc9fa2771b508e9aaeecc700e66e958190476f,
a7f5dc8b8af837f01782d1572379948ff62daab7,
690326f906dc82e41ea58b81cdb2e3e88b754,
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 <slomo@circular-chaos.org>
* libs/gst/base/gstcollectpads.c:
collectpads: Make sure that the object lock is always taken when accessing the private pad list
https://bugzilla.gnome.org/show_bug.cgi?id=708636
2013-09-17 23:23:34 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* 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.
https://bugzilla.gnome.org/show_bug.cgi?id=708636
2013-09-23 11:47:14 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
* 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().
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708605
2013-09-22 11:09:36 +0200 Edward Hervey <bilboed@bilboed.com>
* 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.
Ex:
export GST_UNINSTALLED_ROOT=$HOME/somewhere/with/checkouts
And then just call gst-uninstalled directly:
$GST_UNINSTALLED_ROOT/gstreamer/gst-uninstalled
2013-09-20 16:16:26 +0200 Edward Hervey <edward@collabora.com>
* common:
Automatic update of common submodule
From b613661 to 6b03ba7
2013-09-19 18:42:31 +0100 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 74a6857 to b613661
2013-09-19 17:34:27 +0100 Tim-Philipp Müller <tim@centricular.net>
* autogen.sh:
* common:
Automatic update of common submodule
From 12af105 to 74a6857
2013-09-19 17:12:14 +0100 Tim-Philipp Müller <tim@centricular.net>
* 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 <tim@centricular.net>
* 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.
https://bugzilla.gnome.org/show_bug.cgi?id=706551
2013-09-19 12:07:56 +0200 Edward Hervey <edward@collabora.com>
* 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 <slomo@circular-chaos.org>
* 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 <slomo@circular-chaos.org>
* configure.ac:
Back to development
=== release 1.1.90 ===
2013-09-19 10:48:24 +0200 Sebastian Dröge <slomo@circular-chaos.org>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* 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 <slomo@circular-chaos.org>
* 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 <slomo@circular-chaos.org> 2013-09-19 09:49:40 +0200 Sebastian Dröge <slomo@circular-chaos.org>

123
NEWS
View file

@ -1,2 +1,123 @@
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
elements
• 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
-UG_DISABLE_ASSERT in CFLAGS
• 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

25
RELEASE
View file

@ -1,8 +1,8 @@
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 in the 1.x stable series of the
core of the GStreamer streaming media framework. 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 Bugs fixed in this release
* 701996 : context: Still inconvenient to use and racy * 706551 : gsttestclock check failed
* 707088 : capsfilter: Don't forget to update pending_events. * 708605 : testclock: Does not handle unscheduled entries correctly
* 707130 : output-selector: Changes the start of the segment it sends to a pad when making it active * 708636 : collectpads: Should set *all* its pads to flushing when set_flushing is called, not only the ones in the public list
* 707156 : multiqueue: Lowering single queue limits below automatically detected limits can cause the pipeline to starve * 708668 : context: Potential regression
* 707648 : queue2: Update the buffering state before stalling for more data
* 707657 : tests/capsfilter: Improving check test code coverage...
==== Download ==== ==== Download ====
@ -84,15 +82,10 @@ subscribe to the gstreamer-devel list.
Contributors to this release Contributors to this release
* Christian Fredrik Kalager Schaller * Alex Ashley
* Gustavo Noronha Silva * Edward Hervey
* Jonas Holmberg
* Matej Knopp
* Mathieu Duponchelle * Mathieu Duponchelle
* Rico Tzschichholz
* Sebastian Dröge * Sebastian Dröge
* Sebastian Rasmussen
* Thiago Santos
* Tim-Philipp Müller * Tim-Philipp Müller
* Zaheer Abbas Merali * Wim Taymans
   

View file

@ -4,7 +4,7 @@ dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right ! 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 releases only do Wall, git and prerelease does Werror too
dnl dnl
AC_INIT([GStreamer],[1.1.90.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer]) AC_INIT([GStreamer],[1.2.0],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
AG_GST_INIT AG_GST_INIT
dnl initialize automake (we require GNU make) dnl initialize automake (we require GNU make)
@ -64,7 +64,7 @@ dnl 1.2.5 => 205
dnl 1.10.9 (who knows) => 1009 dnl 1.10.9 (who knows) => 1009
dnl dnl
dnl sets GST_LT_LDFLAGS dnl sets GST_LT_LDFLAGS
AS_LIBTOOL(GST, 190, 0, 190) AS_LIBTOOL(GST, 200, 0, 200)
dnl *** autotools stuff **** dnl *** autotools stuff ****

View file

@ -3,7 +3,7 @@
<description>GStreamer core elements</description> <description>GStreamer core elements</description>
<filename>../../plugins/elements/.libs/libgstcoreelements.so</filename> <filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
<basename>libgstcoreelements.so</basename> <basename>libgstcoreelements.so</basename>
<version>1.1.90</version> <version>1.2.0</version>
<license>LGPL</license> <license>LGPL</license>
<source>gstreamer</source> <source>gstreamer</source>
<package>GStreamer source release</package> <package>GStreamer source release</package>

View file

@ -38,6 +38,16 @@ hierarchy, and a set of media-agnostic core elements.
</GitRepository> </GitRepository>
</repository> </repository>
<release>
<Version>
<revision>1.2.0</revision>
<branch>1.2</branch>
<name></name>
<created>2013-09-24</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.2.0.tar.xz" />
</Version>
</release>
<release> <release>
<Version> <Version>
<revision>1.1.90</revision> <revision>1.1.90</revision>

View file

@ -62,7 +62,7 @@
#define GST_PACKAGE_ORIGIN "Unknown package origin" #define GST_PACKAGE_ORIGIN "Unknown package origin"
/* GStreamer package release date/time for plugins as YYYY-MM-DD */ /* GStreamer package release date/time for plugins as YYYY-MM-DD */
#define GST_PACKAGE_RELEASE_DATETIME "2013-09-19" #define GST_PACKAGE_RELEASE_DATETIME "2013-09-24"
/* Define if static plugins should be built */ /* Define if static plugins should be built */
#undef GST_PLUGIN_BUILD_STATIC #undef GST_PLUGIN_BUILD_STATIC
@ -354,7 +354,7 @@
#define PACKAGE_NAME "GStreamer" #define PACKAGE_NAME "GStreamer"
/* Define to the full name and version of this package. */ /* 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 to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gstreamer" #define PACKAGE_TARNAME "gstreamer"
@ -363,7 +363,7 @@
#undef PACKAGE_URL #undef PACKAGE_URL
/* Define to the version of this package. */ /* Define to the version of this package. */
#define PACKAGE_VERSION "1.1.90" #define PACKAGE_VERSION "1.2.0"
/* directory where plugins are located */ /* directory where plugins are located */
#ifdef _DEBUG #ifdef _DEBUG
@ -401,7 +401,7 @@
#undef USE_POISONING #undef USE_POISONING
/* Version number of package */ /* 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 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */ significant byte first (like Motorola and SPARC, unlike Intel). */

View file

@ -51,13 +51,13 @@ G_BEGIN_DECLS
* *
* The minor version of GStreamer at compile time: * The minor version of GStreamer at compile time:
*/ */
#define GST_VERSION_MINOR (1) #define GST_VERSION_MINOR (2)
/** /**
* GST_VERSION_MICRO: * GST_VERSION_MICRO:
* *
* The micro version of GStreamer at compile time: * The micro version of GStreamer at compile time:
*/ */
#define GST_VERSION_MICRO (90) #define GST_VERSION_MICRO (0)
/** /**
* GST_VERSION_NANO: * GST_VERSION_NANO:
* *