Release 1.4.1

This commit is contained in:
Sebastian Dröge 2014-08-27 15:03:36 +03:00
parent e618c4f1fc
commit ce6e24e68a
8 changed files with 250 additions and 182 deletions

209
ChangeLog
View file

@ -1,9 +1,212 @@
=== release 1.4.0 ===
=== release 1.4.1 ===
2014-07-19 Sebastian Dröge <slomo@coaxion.net>
2014-08-27 Sebastian Dröge <slomo@coaxion.net>
* configure.ac:
releasing 1.4.0
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 16:46:41 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* 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>

145
NEWS
View file

@ -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.

52
RELEASE
View file

@ -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 together
with this release.
Binaries for Android, iOS, Mac OS X and Windows are provided by the
GStreamer project for this release.
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 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 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
* Руслан Ижбулатов
 

View 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 ****

View 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>

View file

@ -38,6 +38,16 @@ hierarchy, and a set of media-agnostic core elements.
</GitRepository>
</repository>
<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>

View 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
@ -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). */

View 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:
*