From cd202c647b01e49a4951d383d30e8779067c0a0a Mon Sep 17 00:00:00 2001 From: Sebastian Dröge Date: Tue, 24 Sep 2013 14:07:02 +0200 Subject: Release 1.2.0 --- ChangeLog | 195 ++++++++++++++++++++++++++- NEWS | 123 ++++++++++++++++- RELEASE | 25 ++-- configure.ac | 4 +- docs/plugins/inspect/plugin-coreelements.xml | 2 +- gstreamer.doap | 10 ++ win32/common/config.h | 8 +- win32/common/gstversion.h | 4 +- 8 files changed, 343 insertions(+), 28 deletions(-) diff --git a/ChangeLog b/ChangeLog index cfc628c3b..5ac2d7ac0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,200 @@ +=== release 1.2.0 === + +2013-09-24 Sebastian Dröge + + * configure.ac: + 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 + https://bugzilla.gnome.org/show_bug.cgi?id=708668 + +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 + https://bugzilla.gnome.org/show_bug.cgi?id=708668 + +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 + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * autogen.sh: + * 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. + https://bugzilla.gnome.org/show_bug.cgi?id=706551 + +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 + + * configure.ac: + Back to development + === release 1.1.90 === -2013-09-19 Sebastian Dröge +2013-09-19 10:48:24 +0200 Sebastian Dröge + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - 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 diff --git a/NEWS b/NEWS index 9a7b01504..2da4fe640 100644 --- a/NEWS +++ b/NEWS @@ -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 + - 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 diff --git a/RELEASE b/RELEASE index 318db4228..5c5f5f78b 100644 --- a/RELEASE +++ b/RELEASE @@ -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 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 diff --git a/configure.ac b/configure.ac index d111f71c0..6fabf91f1 100644 --- a/configure.ac +++ b/configure.ac @@ -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 -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 dnl initialize automake (we require GNU make) @@ -64,7 +64,7 @@ dnl 1.2.5 => 205 dnl 1.10.9 (who knows) => 1009 dnl dnl sets GST_LT_LDFLAGS -AS_LIBTOOL(GST, 190, 0, 190) +AS_LIBTOOL(GST, 200, 0, 200) dnl *** autotools stuff **** diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml index 94d4d3410..1ed446e0e 100644 --- a/docs/plugins/inspect/plugin-coreelements.xml +++ b/docs/plugins/inspect/plugin-coreelements.xml @@ -3,7 +3,7 @@ GStreamer core elements ../../plugins/elements/.libs/libgstcoreelements.so libgstcoreelements.so - 1.1.90 + 1.2.0 LGPL gstreamer GStreamer source release diff --git a/gstreamer.doap b/gstreamer.doap index f4d6b3247..1dbf7a685 100644 --- a/gstreamer.doap +++ b/gstreamer.doap @@ -38,6 +38,16 @@ hierarchy, and a set of media-agnostic core elements. + + + 1.2.0 + 1.2 + + 2013-09-24 + + + + 1.1.90 diff --git a/win32/common/config.h b/win32/common/config.h index 2bd5385ac..032050580 100644 --- a/win32/common/config.h +++ b/win32/common/config.h @@ -62,7 +62,7 @@ #define GST_PACKAGE_ORIGIN "Unknown package origin" /* 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 */ #undef GST_PLUGIN_BUILD_STATIC @@ -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 @@ #undef PACKAGE_URL /* 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 @@ #undef USE_POISONING /* 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). */ diff --git a/win32/common/gstversion.h b/win32/common/gstversion.h index a4e6ae8c8..8d88c3721 100644 --- a/win32/common/gstversion.h +++ b/win32/common/gstversion.h @@ -51,13 +51,13 @@ G_BEGIN_DECLS * * The minor version of GStreamer at compile time: */ -#define GST_VERSION_MINOR (1) +#define GST_VERSION_MINOR (2) /** * GST_VERSION_MICRO: * * The micro version of GStreamer at compile time: */ -#define GST_VERSION_MICRO (90) +#define GST_VERSION_MICRO (0) /** * GST_VERSION_NANO: * -- cgit v1.2.3