summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-08-27 15:03:36 +0300
committerSebastian Dröge <sebastian@centricular.com>2014-08-27 15:03:36 +0300
commitce6e24e68a17584b25aec9c789ac35449a7f05db (patch)
tree357c994450af6f29250f7688b52e0c5d2d5b77b9
parente618c4f1fce0376d4e1c36ca355e79c4daa4ef9e (diff)
Release 1.4.11.4.1
-rw-r--r--ChangeLog207
-rw-r--r--NEWS145
-rw-r--r--RELEASE52
-rw-r--r--configure.ac4
-rw-r--r--docs/plugins/inspect/plugin-coreelements.xml2
-rw-r--r--gstreamer.doap10
-rw-r--r--win32/common/config.h8
-rw-r--r--win32/common/gstversion.h2
8 files changed, 249 insertions, 181 deletions
diff --git a/ChangeLog b/ChangeLog
index d1b0644f10..b55e888301 100644
--- 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 a4e47ed8ae..001b18b364 100644
--- 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 4d4929ddb8..d66082cb0f 100644
--- 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
diff --git a/configure.ac b/configure.ac
index 7730da6c15..f3fa7e25f8 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.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 ****
diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml
index ff7a3be34c..494ac50120 100644
--- a/docs/plugins/inspect/plugin-coreelements.xml
+++ b/docs/plugins/inspect/plugin-coreelements.xml
@@ -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>
diff --git a/gstreamer.doap b/gstreamer.doap
index 6fd7defce6..f8e866c01d 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -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>
diff --git a/win32/common/config.h b/win32/common/config.h
index 56cf9cc80e..928b841905 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 "2014-07-19"
+#define GST_PACKAGE_RELEASE_DATETIME "2014-08-27"
/* 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.4.0"
+#define PACKAGE_STRING "GStreamer 1.4.1"
/* 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.4.0"
+#define PACKAGE_VERSION "1.4.1"
/* directory where plugins are located */
#ifdef _DEBUG
@@ -401,7 +401,7 @@
#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). */
diff --git a/win32/common/gstversion.h b/win32/common/gstversion.h
index 2a2e6144a1..7f9f0295b6 100644
--- a/win32/common/gstversion.h
+++ b/win32/common/gstversion.h
@@ -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:
*