Release 1.4.1 1.4.1
authorSebastian Dröge <sebastian@centricular.com>
Wed, 27 Aug 2014 12:03:36 +0000 (15:03 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 27 Aug 2014 12:03:36 +0000 (15:03 +0300)
ChangeLog
NEWS
RELEASE
configure.ac
docs/plugins/inspect/plugin-coreelements.xml
gstreamer.doap
win32/common/config.h
win32/common/gstversion.h

index d1b0644..b55e888 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,212 @@
+=== release 1.4.1 ===
+
+2014-08-27  Sebastian Dröge <slomo@coaxion.net>
+
+       * configure.ac:
+         releasing 1.4.1
+
+2014-08-21 14:02:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * plugins/elements/gstqueue.c:
+         queue: fix race when flush-stop event comes in whilst shutting down
+         Don't re-start the queue push task on the source pad when a
+         flush-stop event comes in and we're in the process of shutting
+         down, otherwise that task will never be stopped again.
+         When the element is set to READY state, the pads get de-activated.
+         The source pad gets deactivated before the queue's own activate_mode
+         function on the source pads gets called (which will stop the thread),
+         so checking whether the pad is active before re-starting the task on
+         receiving flush-stop should be fine. The problem would happen when the
+         flush-stop handler was called just after the queue's activate mode
+         function had stopped the task.
+         Spotted and debugged by Linus Svensson <linux.svensson@axis.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=734688
+
+2014-08-14 18:53:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * plugins/elements/gstinputselector.c:
+         inputselector: always proxy caps query
+         Otherwise it would only be proxied for the active pad which can lead
+         upstream to use an incompatible caps for the downstream element.
+         Even if a reconfigure event is sent upstream when the pad is activated, this
+         will save the caps reconfiguration if it is already using an acceptable caps.
+
+2014-08-14 14:37:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * libs/gst/base/gstdataqueue.h:
+         base: and fix build with new g-i again
+
+2014-08-14 14:25:06 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * libs/gst/base/gstdataqueue.h:
+         base: remove g-i annotation that makes older g-ir-scanner crash
+         Just remove one skip annotation that causes this:
+         ** (g-ir-compiler:12458): ERROR **: Caught NULL node, parent=empty
+         with older g-i versions such as 1.32.1.
+
+2014-08-13 13:01:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * plugins/elements/gstmultiqueue.c:
+         multiqueue: Only handle flow returns < EOS as errors, not e.g. flushing
+
+2014-08-13 12:40:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstbin.c:
+         bin: Use allow-none instead of nullable until we depend on a new enough GI version
+
+2014-08-13 12:39:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstbin.c:
+         bin: gst_bin_new() can accept NULL as name
+
+2014-08-13 12:37:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/gstelement.c:
+         element: Clarify docs about gst_element_get_request_pad() and remove deprecation part
+         This function is not really pad or slow for the common case of requesting a
+         pad with the name of the template. It is only slower if you to name your pads
+         directly instead of letting the element handle it.
+         Also there's no reason to deprecate it in favor of a more complicated function
+         for the common case.
+
+2014-08-13 12:20:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * plugins/elements/gstqueue2.c:
+         queue2: Post errors if we receive EOS after downstream reported an error
+         There will be no further data flow that would allow us to propagate the
+         error upstream, causing nobody at all to post an error message.
+
+2014-08-13 12:15:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * plugins/elements/gstqueue.c:
+         queue: Post errors when receiving EOS after downstream returned an error
+         There might be no further data flow that would allow us to propagate the
+         error upstream, causing nobody to post an error at all.
+
+2014-08-13 12:10:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * plugins/elements/gstmultiqueue.c:
+         multiqueue: Post errors ourselves if they are received after EOS
+         After EOS there will be no further buffer which could propagate the
+         error upstream, so nothing is going to post an error message and
+         the pipeline just idles around.
+
+2014-07-27 03:06:16 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+       * gst/gstpoll.c:
+         poll: Prevent false-negative from WAKE_EVENT() on W32
+         SetEvent() seems to not call SetLastError(0) internally, so checking last
+         error after calling SetEvent() may return the error from an earlier W32 API
+         call. Fix this by calling SetlastError(0) explicitly.
+         Currently WAKE_EVENT() code is cramped into a macro and doesn't look to be
+         entirely correct. Particularly, it does not check the return value of
+         SetEvent(), only the thread-local W32 error value. It is likely that SetEvent()
+         actually just returns non-zero value, but the code mistakenly thinks that the
+         call has failed, because GetLastError() seems to indicate so.
+         https://bugzilla.gnome.org/show_bug.cgi?id=733805
+
+2014-07-30 15:46:22 +0300  Mohammed Sameer <msameer@foolab.org>
+
+       * gst/gstbufferpool.c:
+         bufferpool: Add missing error checking to default_alloc_buffer()
+         default_alloc_buffer() calls gst_buffer_new_allocate() but does not check for
+         failed allocation.
+         This patch makes default_alloc_buffer() return an error (GST_FLOW_ERROR) if
+         buffer allocation fails.
+         https://bugzilla.gnome.org/show_bug.cgi?id=733974
+
+2014-07-29 14:21:33 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+       * plugins/elements/gstmultiqueue.c:
+         multiqueue: avoid using infinite buffers limit if finite is requested
+         If the current max-buffers limit it infinite and a finite value is
+         requested, switch to the MAX (requested, current-value) to set some
+         limit but not below what we know that we've needed so far.
+         https://bugzilla.gnome.org/show_bug.cgi?id=733837
+
+2014-07-24 22:02:58 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+       * gst/parse/grammar.y:
+         parse: Unref reference to enclosing bins
+         Previously all reference to enclosing bins of an element were leaked
+         when doing delaying setting a property.
+         Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733697
+
+2014-07-26 14:42:54 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/gst.h:
+         gst: include atomicqueue.h again in gst.h
+         It's a public header of gstreamer core, so #include <gst/gst.h>
+         should make the API available.
+
+2014-07-09 15:48:10 +0200  Srimanta Panda <srimanta@axis.com>
+
+       * plugins/elements/gstfunnel.c:
+         funnel: Fix for racy EOS event handling
+         When eos events are forwarded simultaneouly from two sinkpads on
+         funnel, it doesnot forward the eos to sourcepad. The reason is
+         sticky events are stored after the event callbacks are returned.
+         Therefore while one is about to store the sticky events on the its
+         sinkpad, other sinkpad starts checking for the eos events on all other
+         sinkpads and assumes eos is not present yet.
+         https://bugzilla.gnome.org/show_bug.cgi?id=732851
+
 === release 1.4.0 ===
 
-2014-07-19  Sebastian Dröge <slomo@coaxion.net>
+2014-07-19 16:46:41 +0200  Sebastian Dröge <sebastian@centricular.com>
 
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
        * configure.ac:
-         releasing 1.4.0
+       * docs/plugins/inspect/plugin-coreelements.xml:
+       * gstreamer.doap:
+       * win32/common/config.h:
+       * win32/common/gstversion.h:
+         Release 1.4.0
+
+2014-07-19 16:21:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * 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
 
 2014-07-19 12:16:58 +0200  Sebastian Dröge <sebastian@centricular.com>
 
diff --git a/NEWS b/NEWS
index a4e47ed..001b18b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,145 +1,2 @@
-This is GStreamer 1.4.0
+This is GStreamer 1.4.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
-   caps.
- • 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
-   filters.
- • 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
-     infrastructure.
-     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
-     enabled.
-   ∘ 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
-     finish.
-   ∘ 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
-     interface.
-   ∘ 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
-   element.
- • 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.
diff --git a/RELEASE b/RELEASE
index 4d4929d..d66082c 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,35 +1,28 @@
 
-Release notes for GStreamer 1.4.0
+Release notes for GStreamer 1.4.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 a bugfix release of the stable
+1.4 release series. The 1.4 release series is adding new features on top
+of the 1.2 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework that contains new features.
+The 1.4.x bugfix releases only contain important bugfixes compared to 1.4.0.
 
 
+Binaries for Android, iOS, Mac OS X and Windows are provided by the
+GStreamer project for this release.
 
-Binaries for Android, iOS, Mac OS X and Windows are provided together
-with this release.
 
+The 1.x series is a stable series targeted at end users. It is not API
+or ABI compatible with the 0.10.x series. It can, however, be installed
+in parallel with the 0.10.x series and will not affect an existing
+0.10.x installation.
 
 
-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.
-
-
-
-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
-change.
-
+The stable 1.4.x release series is API and ABI compatible with 1.0.x and
+any other 1.x release series in the future. Compared to 1.0.x it contains
+some new features and more intrusive changes that were considered too
+risky as a bugfix.
 
 
 This module, gstreamer, only contains core functionality.
@@ -55,8 +48,11 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
 
 Bugs fixed in this release
      
-      * 733121 : debugutils: Unref pad template after use
-      * 733291 : typefindelement: Propagate input buffer PTS and DTS
+      * 732851 : funnel: storing sticky events after event callback
+      * 733805 : poll: WAKE_EVENT() reports false negatives on W32
+      * 733974 : gstbufferpool::default_alloc_buffer does not fail if buffer allocation fails
+      * 734688 : queue: race when receiving flush-stop event during shutdown, task gets re-started
+      * 734773 : Add allow-none annotation for gst_bin_new()
 
 ==== Download ====
 
@@ -93,9 +89,11 @@ subscribe to the gstreamer-devel list.
         
 Contributors to this release
     
-      * Edward Hervey
+      * Mohammed Sameer
       * Sebastian Dröge
       * Sebastian Rasmussen
+      * Srimanta Panda
       * Thiago Santos
-      * Thibault Saunier
+      * Tim-Philipp Müller
+      * Руслан Ижбулатов
  
\ No newline at end of file
index 7730da6..f3fa7e2 100644 (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
-AC_INIT([GStreamer],[1.4.0],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
+AC_INIT([GStreamer],[1.4.1],[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, 400, 0, 400)
+AS_LIBTOOL(GST, 401, 0, 401)
 
 dnl *** autotools stuff ****
 
index ff7a3be..494ac50 100644 (file)
@@ -3,7 +3,7 @@
   <description>GStreamer core elements</description>
   <filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
   <basename>libgstcoreelements.so</basename>
-  <version>1.4.0</version>
+  <version>1.4.1</version>
   <license>LGPL</license>
   <source>gstreamer</source>
   <package>GStreamer source release</package>
index 6fd7def..f8e866c 100644 (file)
@@ -40,6 +40,16 @@ hierarchy, and a set of media-agnostic core elements.
 
  <release>
   <Version>
+   <revision>1.4.1</revision>
+   <branch>1.4</branch>
+   <name></name>
+   <created>2014-08-27</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.4.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.4.0</revision>
    <branch>1.4</branch>
    <name></name>
index 56cf9cc..928b841 100644 (file)
@@ -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 "2014-07-19"
+#define GST_PACKAGE_RELEASE_DATETIME "2014-08-27"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
 #define PACKAGE_NAME "GStreamer"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer 1.4.0"
+#define PACKAGE_STRING "GStreamer 1.4.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gstreamer"
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.4.0"
+#define PACKAGE_VERSION "1.4.1"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "1.4.0"
+#define VERSION "1.4.1"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
index 2a2e614..7f9f029 100644 (file)
@@ -57,7 +57,7 @@ G_BEGIN_DECLS
  *
  * The micro version of GStreamer at compile time:
  */
-#define GST_VERSION_MICRO (0)
+#define GST_VERSION_MICRO (1)
 /**
  * GST_VERSION_NANO:
  *