New upstream version 1.10.2
diff --git a/ChangeLog b/ChangeLog
index 7992ff7..f6c4a0f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,294 @@
-=== release 1.10.1 ===
+=== release 1.10.2 ===
-2016-11-17 Sebastian Dröge <slomo@coaxion.net>
+2016-11-29 Sebastian Dröge <slomo@coaxion.net>
* configure.ac:
- releasing 1.10.1
+ releasing 1.10.2
+
+2016-11-29 14:09:44 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/el.po:
+ * po/hr.po:
+ po: Update translations
+
+2016-11-28 13:51:41 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/avi/gstavidemux.c:
+ avidemux: Ensure that tags are valid UTF-8 before adding them to the taglist
+ https://bugzilla.gnome.org/show_bug.cgi?id=775219
+
+2016-11-28 12:22:49 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/multipart/multipartdemux.c:
+ multipartdemux: Post an error message on the bus if we got EOS without having added any pads
+
+2016-11-28 12:00:09 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/soup/gstsouphttpsrc.c:
+ souphttpsrc: Handle non-UTF8 headers and error reasons more gracefully
+ Especially don't put them into GstStructures in one way or another, just
+ ignore them or error out cleanly depending on the importance of their
+ content.
+
+2016-11-28 09:30:25 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtp/gstrtpvrawpay.c:
+ vrawpay: Error out cleanly if mapping the video frame fails
+ Instead of later dereferencing NULL and crashing.
+
+2016-07-28 18:51:24 +0200 Philipp Zabel <p.zabel@pengutronix.de>
+
+ * sys/v4l2/gstv4l2bufferpool.c:
+ gstv4l2bufferpool: lock flush_stop against regular qbuf
+ These can be called from different threads and both manipulate the
+ pool->buffers array. Lock them properly and let flush_stop move the
+ array contents into a temporary array on the stack to avoid having
+ to call release_buffer under the object lock.
+ https://bugzilla.gnome.org/show_bug.cgi?id=775015
+
+2016-11-24 14:25:22 +0100 Philipp Zabel <p.zabel@pengutronix.de>
+
+ * sys/v4l2/gstv4l2bufferpool.c:
+ gstv4l2bufferpool: remove critical error message when process is called on an inactive pool
+ If the pool is inactive, it is guaranteed to also be flushing, so the
+ following check will return GST_FLOW_FLUSHING anyway.
+ This can happen if a v4l2src is blocking on DQBUF in create and is sent
+ an EOS event on another thread. In that case the pool is set to
+ flushing/inactive without locking, the v4l2src is unblocked, and may
+ call pool_process with a valid buffer on the already inactive pool.
+ https://bugzilla.gnome.org/show_bug.cgi?id=775014
+
+2016-11-24 14:41:52 +0100 Philipp Zabel <p.zabel@pengutronix.de>
+
+ * sys/v4l2/gstv4l2src.c:
+ v4l2src: release buffer if create fails
+ gst_base_src_get_range does not expect a buffer to be returned in
+ the error case, so we are leaking a reference here if create fails.
+ https://bugzilla.gnome.org/show_bug.cgi?id=775014
+
+2016-11-20 13:08:27 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Ensure that raw audio and video have properly aligned buffers
+ That is, aligned to the basic type for audio and to 32 bytes for video.
+ Fixes crashes if the raw buffers are passed to SIMD processing functions.
+ https://bugzilla.gnome.org/show_bug.cgi?id=774428
+
+2016-11-20 13:14:08 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/avi/gstavidemux.c:
+ * gst/avi/gstavidemux.h:
+ avidemux: Ensure that raw video have properly aligned buffers
+ That is, aligned to to 32 bytes for video. Fixes crashes if the raw
+ buffers are passed to SIMD processing functions.
+ https://bugzilla.gnome.org/show_bug.cgi?id=774428
+
+2016-10-26 12:46:28 +0530 Jagadish <jagadishkamathk@gmail.com>
+
+ * ext/gdk_pixbuf/gstgdkpixbufoverlay.c:
+ gdkpixbufoverlay: Fixing x and y offset computation
+ While computing the x and y offsets, it's the video resolution and
+ resized overlay resolution to be used instead of actual overlay image
+ resoltuion. Due to this, the overlay image used to get wrongly overlayed
+ in undesired location
+ https://bugzilla.gnome.org/show_bug.cgi?id=757292
+
+2016-11-22 20:33:29 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/vpx/gstvpxdec.c:
+ vpxdec: libvpx's release buffer is sometimes called with fb->priv==NULL
+ Don't assert on this but just ignore these cases.
+
+2016-11-22 20:24:59 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/matroska/matroska-demux.c:
+ matroskademux: Fix cluster searching if we search multiple times in one chunk
+ After finding a cluster id in the byte reader, we skip ahead the reader
+ position by one further byte to be able to continue searching from there
+ inside the same chunk if the cluster candidate was a false positive.
+ We have to accomodate for that additional byte when resuming the search,
+ otherwise all following pulls are off-by-one for every resume and we run
+ into an assertion.
+
+2016-11-22 20:01:20 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/matroska/matroska-ids.c:
+ matroska: Add size checks to the parsing of FLAC headers
+
+2016-11-23 07:09:06 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/flx/flx_color.c:
+ * gst/flx/flx_fmt.h:
+ * gst/flx/gstflxdec.c:
+ * gst/flx/gstflxdec.h:
+ flxdec: rewrite logic based on GstByteReader/Writer
+ Solves overreading/writing the given arrays and will error out if the
+ streams asks to do that.
+ Also does more error checking that the stream is valid and won't
+ overrun any allocated arrays. Also mitigate integer overflow errors
+ calculating allocation sizes.
+ https://bugzilla.gnome.org/show_bug.cgi?id=774859
+
+2016-11-23 11:20:49 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/flx/gstflxdec.c:
+ flxdec: Don't unref() parent in the chain function
+ We don't own the reference here, it is owned by the caller and given to
+ us for the scope of this function. Leftover mistake from 0.10 porting.
+ https://bugzilla.gnome.org/show_bug.cgi?id=774897
+
+2016-11-22 23:46:00 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/flx/gstflxdec.c:
+ flxdec: fix some warnings comparing unsigned < 0
+ bf43f44fcfada5ec4a3ce60cb374340486fe9fac was comparing an unsigned
+ expression to be < 0 which was always false.
+ gstflxdec.c: In function ‘flx_decode_brun’:
+ gstflxdec.c:322:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
+ if ((glong) row - count < 0) {
+ ^
+ gstflxdec.c:332:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
+ if ((glong) row - count < 0) {
+ ^
+ https://bugzilla.gnome.org/show_bug.cgi?id=774834
+
+2016-11-22 19:05:00 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/flx/gstflxdec.c:
+ flxdec: add some write bounds checking
+ Without checking the bounds of the frame we are writing into, we can
+ write off the end of the destination buffer.
+ https://scarybeastsecurity.blogspot.dk/2016/11/0day-exploit-advancing-exploitation.html
+ https://bugzilla.gnome.org/show_bug.cgi?id=774834
+
+2016-11-20 14:53:18 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ meson: update version
+
+=== release 1.10.1 ===
+
+2016-11-17 15:52:38 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * docs/plugins/gst-plugins-good-plugins.args:
+ * docs/plugins/inspect/plugin-1394.xml:
+ * docs/plugins/inspect/plugin-aasink.xml:
+ * docs/plugins/inspect/plugin-alaw.xml:
+ * docs/plugins/inspect/plugin-alpha.xml:
+ * docs/plugins/inspect/plugin-alphacolor.xml:
+ * docs/plugins/inspect/plugin-apetag.xml:
+ * docs/plugins/inspect/plugin-audiofx.xml:
+ * docs/plugins/inspect/plugin-audioparsers.xml:
+ * docs/plugins/inspect/plugin-auparse.xml:
+ * docs/plugins/inspect/plugin-autodetect.xml:
+ * docs/plugins/inspect/plugin-avi.xml:
+ * docs/plugins/inspect/plugin-cacasink.xml:
+ * docs/plugins/inspect/plugin-cairo.xml:
+ * docs/plugins/inspect/plugin-cutter.xml:
+ * docs/plugins/inspect/plugin-debug.xml:
+ * docs/plugins/inspect/plugin-deinterlace.xml:
+ * docs/plugins/inspect/plugin-dtmf.xml:
+ * docs/plugins/inspect/plugin-dv.xml:
+ * docs/plugins/inspect/plugin-effectv.xml:
+ * docs/plugins/inspect/plugin-equalizer.xml:
+ * docs/plugins/inspect/plugin-flac.xml:
+ * docs/plugins/inspect/plugin-flv.xml:
+ * docs/plugins/inspect/plugin-flxdec.xml:
+ * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+ * docs/plugins/inspect/plugin-goom.xml:
+ * docs/plugins/inspect/plugin-goom2k1.xml:
+ * docs/plugins/inspect/plugin-icydemux.xml:
+ * docs/plugins/inspect/plugin-id3demux.xml:
+ * docs/plugins/inspect/plugin-imagefreeze.xml:
+ * docs/plugins/inspect/plugin-interleave.xml:
+ * docs/plugins/inspect/plugin-isomp4.xml:
+ * docs/plugins/inspect/plugin-jack.xml:
+ * docs/plugins/inspect/plugin-jpeg.xml:
+ * docs/plugins/inspect/plugin-level.xml:
+ * docs/plugins/inspect/plugin-matroska.xml:
+ * docs/plugins/inspect/plugin-mulaw.xml:
+ * docs/plugins/inspect/plugin-multifile.xml:
+ * docs/plugins/inspect/plugin-multipart.xml:
+ * docs/plugins/inspect/plugin-navigationtest.xml:
+ * docs/plugins/inspect/plugin-oss4.xml:
+ * docs/plugins/inspect/plugin-ossaudio.xml:
+ * docs/plugins/inspect/plugin-png.xml:
+ * docs/plugins/inspect/plugin-pulseaudio.xml:
+ * docs/plugins/inspect/plugin-replaygain.xml:
+ * docs/plugins/inspect/plugin-rtp.xml:
+ * docs/plugins/inspect/plugin-rtpmanager.xml:
+ * docs/plugins/inspect/plugin-rtsp.xml:
+ * docs/plugins/inspect/plugin-shapewipe.xml:
+ * docs/plugins/inspect/plugin-shout2send.xml:
+ * docs/plugins/inspect/plugin-smpte.xml:
+ * docs/plugins/inspect/plugin-soup.xml:
+ * docs/plugins/inspect/plugin-spectrum.xml:
+ * docs/plugins/inspect/plugin-speex.xml:
+ * docs/plugins/inspect/plugin-taglib.xml:
+ * docs/plugins/inspect/plugin-udp.xml:
+ * docs/plugins/inspect/plugin-video4linux2.xml:
+ * docs/plugins/inspect/plugin-videobox.xml:
+ * docs/plugins/inspect/plugin-videocrop.xml:
+ * docs/plugins/inspect/plugin-videofilter.xml:
+ * docs/plugins/inspect/plugin-videomixer.xml:
+ * docs/plugins/inspect/plugin-vpx.xml:
+ * docs/plugins/inspect/plugin-wavenc.xml:
+ * docs/plugins/inspect/plugin-wavpack.xml:
+ * docs/plugins/inspect/plugin-wavparse.xml:
+ * docs/plugins/inspect/plugin-ximagesrc.xml:
+ * docs/plugins/inspect/plugin-y4menc.xml:
+ * gst-plugins-good.doap:
+ * win32/common/config.h:
+ Release 1.10.1
+
+2016-11-17 15:00:17 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/af.po:
+ * po/az.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/lv.po:
+ * po/mt.po:
+ * po/nb.po:
+ * po/nl.po:
+ * po/or.po:
+ * po/pl.po:
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/ru.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_HK.po:
+ * po/zh_TW.po:
+ Update .po files
2016-11-17 14:45:34 +0200 Sebastian Dröge <sebastian@centricular.com>
diff --git a/Makefile.in b/Makefile.in
index a3ce7c4..729bca0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -209,7 +209,7 @@
$(top_srcdir)/common/release.mak \
$(top_srcdir)/common/win32.mak ABOUT-NLS AUTHORS COPYING \
ChangeLog INSTALL NEWS README compile config.guess \
- config.rpath config.sub install-sh ltmain.sh missing
+ config.rpath config.sub depcomp install-sh ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
diff --git a/NEWS b/NEWS
index 83d7385..815dee3 100644
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,8 @@
# GStreamer 1.10 Release Notes
GStreamer 1.10.0 was originally released on 1st November 2016.
-The latest bug-fix release in the 1.10 series is [1.10.1](#1.10.1) and was
-released on 17 November 2016.
+The latest bug-fix release in the 1.10 series is [1.10.2](#1.10.2) and was
+released on 29 November 2016.
The GStreamer team is proud to announce a new major feature release in the
stable 1.x API series of your favourite cross-platform multimedia framework!
@@ -13,7 +13,7 @@
See [https://gstreamer.freedesktop.org/releases/1.10/][latest] for the latest
version of this document.
-*Last updated: Tuesday 17 Nov 2016, 15:00 UTC [(log)][gitlog]*
+*Last updated: Tuesday 29 Nov 2016, 12:30 UTC [(log)][gitlog]*
[latest]: https://gstreamer.freedesktop.org/releases/1.10/
[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.10/release-notes-1.10.md
@@ -1084,7 +1084,7 @@
#### Major bugfixes in 1.10.1
- - Security-relevant bugfix in the vmnc decoder (no CVE)
+ - Security-relevant bugfix in the vmnc decoder (CVE-2016-9445, CVE-2016-9446)
- Various bugfixes to playbin3/decodebin3
- Fix error at the end of playing any WAV file
- Fix usability of androidmedia plugin if the camera or sensor API is not
@@ -1099,6 +1099,31 @@
[buglist-1.10.1]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=168172&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.1
+<a name="1.10.2"></a>
+
+### 1.10.2
+
+The first 1.10 bug-fix release (1.10.2) was released on 29 November 2016.
+This release only contains bugfixes and it should be safe to update from 1.10.x.
+
+#### Major bugfixes in 1.10.2
+
+ - Security-relevant bugfix in the FLI/FLX/FLC decoder (CVE-2016-9634,
+ CVE-2016-9635, CVE-2016-9636)
+ - Various fixes for crashes, assertions and other failures on fuzzed input
+ files (among others, thanks to Hanno Böck for testing and reporting)
+ - SAVP/SAVPF profile in gst-rtsp-server works for live streams again, and the
+ correct MIKEY policy message is generated
+ - Further OpenGL related bugfixes
+ - gst-libav was updated to ffmpeg 3.2.1
+ - ... and many, many more!
+
+For a full list of bugfixes see [Bugzilla][buglist-1.10.2]. Note that this is
+not the full list of changes. For the full list of changes please refer to the
+GIT logs or ChangeLogs of the particular modules.
+
+[buglist-1.10.2]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=168172&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.2
+
## Known Issues
- iOS builds with iOS 6 SDK and old C++ STL. You need to select iOS 6 instead
@@ -1134,3 +1159,4 @@
Jan Schmidt, Wim Taymans, Matthew Waters*
*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)*
+
diff --git a/RELEASE b/RELEASE
index 1769d46..8999b5d 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,11 +1,11 @@
-Release notes for GStreamer Good Plugins 1.10.1
+Release notes for GStreamer Good Plugins 1.10.2
-The GStreamer team is proud to announce the first bugfix release in the stable
+The GStreamer team is proud to announce the second bugfix release in the stable
1.10 release series of your favourite cross-platform multimedia framework!
-This release only contains bugfixes and it is safe to update from 1.10.0. For a
+This release only contains bugfixes and it is safe to update from 1.10.x. For a
full list of bugfixes see Bugzilla.
@@ -55,17 +55,12 @@
Bugs fixed in this release
- * 769765 : v4l2: Sanitise buffer sizes provided by v4l2
- * 770568 : rtspsrc: fails to connect when the 'control' attribute is omitted in a single media description
- * 772610 : rtspsrc doesn't support redirect on play
- * 773269 : rtpbin: avoid generating errors when rtcp messages are empty and check the queue is not empty
- * 773512 : rtph263pay: Fix leak for B-fragments
- * 773515 : rtph263ppay: Fix caps leak
- * 773516 : rtph263depay: Don't drop mode b packets with picture start code
- * 773784 : splitmuxsink: failed assertion on gst-launch-1.0 ^C
- * 773861 : wavparse: element error is posted at EOS even though WAV file is OK
- * 774507 : splitmuxsink: pad request fails for flvmux
- * 774556 : Splitmuxsink crash (ver 1.10.0)
+ * 757292 : gdkpixbufoverlay: relative-x/y properties
+ * 774428 : qtdemux: Outputting unaligned raw audio/video buffers
+ * 774834 : flic decoder: Buffer overflow in flx_decode_delta_fli
+ * 774859 : flic decoder: Invalid memory read in flx_decode_chunks
+ * 774897 : flxdec: Unreferences itself one time too many on invalid files
+ * 775219 : avidemux: Ensure that tags are valid UTF-8 before adding them to the taglist
==== Download ====
@@ -102,14 +97,9 @@
Contributors to this release
- * Alejandro G. Castro
- * Havard Graff
- * Jan Schmidt
- * Matt Staples
- * Petr Kulhavy
+ * Jagadish
+ * Matthew Waters
+ * Philipp Zabel
* Sebastian Dröge
- * Stian Selnes
* Tim-Philipp Müller
- * Vinod Kesti
- * William Manley
\ No newline at end of file
diff --git a/config.guess b/config.guess
index 0967f2a..2e9ad7f 100755
--- a/config.guess
+++ b/config.guess
@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2016-04-02'
+timestamp='2016-10-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -186,9 +186,12 @@
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
+ # to ELF recently (or will in the future) and ABI.
case "${UNAME_MACHINE_ARCH}" in
- arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ earm*)
+ os=netbsdelf
+ ;;
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
@@ -997,6 +1000,9 @@
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
+ mips64el:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
openrisc*:Linux:*:*)
echo or1k-unknown-linux-${LIBC}
exit ;;
@@ -1029,6 +1035,9 @@
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
exit ;;
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
@@ -1408,18 +1417,17 @@
cat >&2 <<EOF
$0: unable to guess system type
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite
+config.guess and config.sub with the latest versions from:
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
and
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
config.guess timestamp = $timestamp
diff --git a/config.sub b/config.sub
index 8d39c4b..dd2ca93 100755
--- a/config.sub
+++ b/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2016-03-30'
+timestamp='2016-11-04'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -117,7 +117,7 @@
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
- kopensolaris*-gnu* | \
+ kopensolaris*-gnu* | cloudabi*-eabi* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -301,6 +301,7 @@
| open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pru \
| pyramid \
| riscv32 | riscv64 \
| rl78 | rx \
@@ -428,6 +429,7 @@
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pru-* \
| pyramid-* \
| riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
@@ -643,6 +645,14 @@
basic_machine=m68k-bull
os=-sysv3
;;
+ e500v[12])
+ basic_machine=powerpc-unknown
+ os=$os"spe"
+ ;;
+ e500v[12]-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=$os"spe"
+ ;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
@@ -1022,7 +1032,7 @@
ppc-* | ppcbe-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
+ ppcle | powerpclittle)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
@@ -1032,7 +1042,7 @@
;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
@@ -1389,7 +1399,7 @@
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1399,7 +1409,7 @@
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
- | -onefs* | -tirtos*)
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
diff --git a/configure b/configure
index 8b2feab..2ca53bf 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.10.1.
+# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.10.2.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='GStreamer Good Plug-ins'
PACKAGE_TARNAME='gst-plugins-good'
-PACKAGE_VERSION='1.10.1'
-PACKAGE_STRING='GStreamer Good Plug-ins 1.10.1'
+PACKAGE_VERSION='1.10.2'
+PACKAGE_STRING='GStreamer Good Plug-ins 1.10.2'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -1969,7 +1969,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GStreamer Good Plug-ins 1.10.1 to adapt to many kinds of systems.
+\`configure' configures GStreamer Good Plug-ins 1.10.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2042,7 +2042,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.10.1:";;
+ short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.10.2:";;
esac
cat <<\_ACEOF
@@ -2418,7 +2418,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer Good Plug-ins configure 1.10.1
+GStreamer Good Plug-ins configure 1.10.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3229,7 +3229,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GStreamer Good Plug-ins $as_me 1.10.1, which was
+It was created by GStreamer Good Plug-ins $as_me 1.10.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4211,7 +4211,7 @@
# Define the identity of the package.
PACKAGE='gst-plugins-good'
- VERSION='1.10.1'
+ VERSION='1.10.2'
cat >>confdefs.h <<_ACEOF
@@ -4422,9 +4422,9 @@
- PACKAGE_VERSION_MAJOR=$(echo 1.10.1 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.10.1 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.10.1 | cut -d'.' -f3)
+ PACKAGE_VERSION_MAJOR=$(echo 1.10.2 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.10.2 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.10.2 | cut -d'.' -f3)
@@ -4435,7 +4435,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.10.1 | cut -d'.' -f4)
+ NANO=$(echo 1.10.2 | cut -d'.' -f4)
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -9276,10 +9276,10 @@
done
- GST_CURRENT=1001
+ GST_CURRENT=1002
GST_REVISION=0
- GST_AGE=1001
- GST_LIBVERSION=1001:0:1001
+ GST_AGE=1002
+ GST_LIBVERSION=1002:0:1002
@@ -37545,7 +37545,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GStreamer Good Plug-ins $as_me 1.10.1, which was
+This file was extended by GStreamer Good Plug-ins $as_me 1.10.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -37611,7 +37611,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GStreamer Good Plug-ins config.status 1.10.1
+GStreamer Good Plug-ins config.status 1.10.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 33ff360..4c1a63d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
dnl initialize autoconf
dnl releases only do -Wall, git and prerelease does -Werror too
dnl use a three digit version number for releases, and four for git/pre
-AC_INIT([GStreamer Good Plug-ins],[1.10.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
+AC_INIT([GStreamer Good Plug-ins],[1.10.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
AG_GST_INIT
@@ -43,7 +43,7 @@
[GStreamer API Version])
AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 1001, 0, 1001)
+AS_LIBTOOL(GST, 1002, 0, 1002)
dnl *** required versions of GStreamer stuff ***
GST_REQ=1.10.0
diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args
index babb7f9..cbc301a 100644
--- a/docs/plugins/gst-plugins-good-plugins.args
+++ b/docs/plugins/gst-plugins-good-plugins.args
@@ -1015,7 +1015,7 @@
<FLAGS>rw</FLAGS>
<NICK>User Agent</NICK>
<BLURB>The User-Agent string to send to the server.</BLURB>
-<DEFAULT>"GStreamer/1.10.1"</DEFAULT>
+<DEFAULT>"GStreamer/1.10.2"</DEFAULT>
</ARG>
<ARG>
@@ -19705,7 +19705,7 @@
<FLAGS>rw</FLAGS>
<NICK>Client Name</NICK>
<BLURB>The PulseAudio client name to use.</BLURB>
-<DEFAULT>"lt-gst-plugins-good-plugins-scan"</DEFAULT>
+<DEFAULT>"gst-plugins-good-plugins-scan"</DEFAULT>
</ARG>
<ARG>
@@ -19795,7 +19795,7 @@
<FLAGS>rw</FLAGS>
<NICK>Client Name</NICK>
<BLURB>The PulseAudio client_name_to_use.</BLURB>
-<DEFAULT>"lt-gst-plugins-good-plugins-scan"</DEFAULT>
+<DEFAULT>"gst-plugins-good-plugins-scan"</DEFAULT>
</ARG>
<ARG>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
index 25767e3..6cb85d3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
index 757e3d9..4b904eb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
index 8602780..3b97b2e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
index dd4d670..14ca072 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
index 634159c..e0c7049 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
index 725c9b5..689f747 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
index 399e2fe..64947da 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html
index 8d1f527..5478df6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
index a83c337..e70c29f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
index 1b760c7..ca5d1da 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
index 48ccd03..6decf94 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
index d09d4e5..401346e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
index 73edff6..5270861 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
index 0391b17..221fb32 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
index 58d3199..9d8714a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
index df4ee11..c24bd5d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
index 6c4cf81..ccf10fe 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
index 897c61f..4a5998e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
index 700c543..c40ea66 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
index b4b4e31..4b84c4c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
index eb5e132..07b96d3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
index 8780a3b..4d444ba 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
index 8302355..9f9f974 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
index f10e61a..297d130 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
index 3ada372..fe3bf35 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
index 66dccee..a020ee2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
index a5915d5..9d971fe 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
index 52ca1a5..c323a95 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
index 3470477..fde10b3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
index 3ff5831..5c154bf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
index 6afcce5..c68d176 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
index 0fc5462..8b5248d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
index 6276244..cbf8037 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
index 1dcb373..fd058af 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
index 3e1f45b..fa9bafc 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
index 8866706..f88b309 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
index a5b6f57..400af89 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
index 82230e2..5664b2b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
index 74a5090..f6a6c81 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
index c97c37f..1277594 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
index 2cd40f8..8724773 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
index 38577cc..93b43cf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
index e0584d3..3781051 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
index 18c3554..28617b6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
index 1156524..3db9e24 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
index ef27170..5793f0f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
index 4cdc36f..34f7a88 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
index 893dea5..14c2cc5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
index a4e3832..d075859 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
index 82f9d0f..5a3a53b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
index 587aeea..8fc8171 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
index 289578a..45b214b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
index b40693f..9ba9c7f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
index ac1f338..84d25e1 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
index 9cfe8c5..88422b3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
index 4d636cc..947c66e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
index ead8cdc..0c74a83 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
index 273cd37..c2d6597 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
index d54c0f0..c56f5e3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
index c9649b9..a707809 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
index cd5e4fb..ce3f0ed 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
index afefa8d..784c967 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
index 2e24528..30685a8 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
index cab0975..8ec302e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
index 8f3121a..b3629eb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
index 2822c71..e1a5cf4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
@@ -41,7 +41,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.10.1</td>
+<td>1.10.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-pulsesink.html b/docs/plugins/html/gst-plugins-good-plugins-pulsesink.html
index e59f6e2..298efb1 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-pulsesink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-pulsesink.html
@@ -336,7 +336,7 @@
<pre class="programlisting"> “client-name” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>The PulseAudio client name to use.</p>
<p>Flags: Read / Write</p>
-<p>Default value: "lt-gst-plugins-good-plugins-scan"</p>
+<p>Default value: "gst-plugins-good-plugins-scan"</p>
</div>
<hr>
<div class="refsect2">
diff --git a/docs/plugins/html/gst-plugins-good-plugins-pulsesrc.html b/docs/plugins/html/gst-plugins-good-plugins-pulsesrc.html
index 5873be9..844f36f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-pulsesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-pulsesrc.html
@@ -308,7 +308,7 @@
<pre class="programlisting"> “client-name” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>The PulseAudio client name to use.</p>
<p>Flags: Read / Write</p>
-<p>Default value: "lt-gst-plugins-good-plugins-scan"</p>
+<p>Default value: "gst-plugins-good-plugins-scan"</p>
</div>
<hr>
<div class="refsect2">
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html
index f169720..813a890 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html
@@ -693,7 +693,7 @@
<pre class="programlisting"> “user-agent” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>The User-Agent string to send to the server.</p>
<p>Flags: Read / Write</p>
-<p>Default value: "GStreamer/1.10.1"</p>
+<p>Default value: "GStreamer/1.10.2"</p>
</div>
<hr>
<div class="refsect2">
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index b66bb7c..9edc1a3 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Good Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Good Plugins 1.0 (1.10.1)
+ for GStreamer Good Plugins 1.0 (1.10.2)
The latest version of this documentation can be found on-line at
<a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/</a>.
</p></div>
diff --git a/docs/plugins/inspect/plugin-1394.xml b/docs/plugins/inspect/plugin-1394.xml
index 6e8442e..9a84f1f 100644
--- a/docs/plugins/inspect/plugin-1394.xml
+++ b/docs/plugins/inspect/plugin-1394.xml
@@ -3,7 +3,7 @@
<description>Source for video data via IEEE1394 interface</description>
<filename>../../ext/raw1394/.libs/libgst1394.so</filename>
<basename>libgst1394.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-aasink.xml b/docs/plugins/inspect/plugin-aasink.xml
index ed37903..06a6481 100644
--- a/docs/plugins/inspect/plugin-aasink.xml
+++ b/docs/plugins/inspect/plugin-aasink.xml
@@ -3,7 +3,7 @@
<description>ASCII Art video sink</description>
<filename>../../ext/aalib/.libs/libgstaasink.so</filename>
<basename>libgstaasink.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alaw.xml b/docs/plugins/inspect/plugin-alaw.xml
index 0a4a842..c4d5b3b 100644
--- a/docs/plugins/inspect/plugin-alaw.xml
+++ b/docs/plugins/inspect/plugin-alaw.xml
@@ -3,7 +3,7 @@
<description>ALaw audio conversion routines</description>
<filename>../../gst/law/.libs/libgstalaw.so</filename>
<basename>libgstalaw.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alpha.xml b/docs/plugins/inspect/plugin-alpha.xml
index 8d282a9..ab63fdc 100644
--- a/docs/plugins/inspect/plugin-alpha.xml
+++ b/docs/plugins/inspect/plugin-alpha.xml
@@ -3,7 +3,7 @@
<description>adds an alpha channel to video - constant or via chroma-keying</description>
<filename>../../gst/alpha/.libs/libgstalpha.so</filename>
<basename>libgstalpha.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alphacolor.xml b/docs/plugins/inspect/plugin-alphacolor.xml
index f1b3459..9cae28d 100644
--- a/docs/plugins/inspect/plugin-alphacolor.xml
+++ b/docs/plugins/inspect/plugin-alphacolor.xml
@@ -3,7 +3,7 @@
<description>RGBA from/to AYUV colorspace conversion preserving the alpha channel</description>
<filename>../../gst/alpha/.libs/libgstalphacolor.so</filename>
<basename>libgstalphacolor.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-apetag.xml b/docs/plugins/inspect/plugin-apetag.xml
index ad06f5a..b1ebbd4 100644
--- a/docs/plugins/inspect/plugin-apetag.xml
+++ b/docs/plugins/inspect/plugin-apetag.xml
@@ -3,7 +3,7 @@
<description>APEv1/2 tag reader</description>
<filename>../../gst/apetag/.libs/libgstapetag.so</filename>
<basename>libgstapetag.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml
index 849a1b6..c7829f9 100644
--- a/docs/plugins/inspect/plugin-audiofx.xml
+++ b/docs/plugins/inspect/plugin-audiofx.xml
@@ -3,7 +3,7 @@
<description>Audio effects plugin</description>
<filename>../../gst/audiofx/.libs/libgstaudiofx.so</filename>
<basename>libgstaudiofx.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audioparsers.xml b/docs/plugins/inspect/plugin-audioparsers.xml
index 48b1053..8b73ae1 100644
--- a/docs/plugins/inspect/plugin-audioparsers.xml
+++ b/docs/plugins/inspect/plugin-audioparsers.xml
@@ -3,7 +3,7 @@
<description>Parsers for various audio formats</description>
<filename>../../gst/audioparsers/.libs/libgstaudioparsers.so</filename>
<basename>libgstaudioparsers.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-auparse.xml b/docs/plugins/inspect/plugin-auparse.xml
index ef58fc1..b1d277a 100644
--- a/docs/plugins/inspect/plugin-auparse.xml
+++ b/docs/plugins/inspect/plugin-auparse.xml
@@ -3,7 +3,7 @@
<description>parses au streams</description>
<filename>../../gst/auparse/.libs/libgstauparse.so</filename>
<basename>libgstauparse.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-autodetect.xml b/docs/plugins/inspect/plugin-autodetect.xml
index f96b1e4..f485452 100644
--- a/docs/plugins/inspect/plugin-autodetect.xml
+++ b/docs/plugins/inspect/plugin-autodetect.xml
@@ -3,7 +3,7 @@
<description>Plugin contains auto-detection plugins for video/audio in- and outputs</description>
<filename>../../gst/autodetect/.libs/libgstautodetect.so</filename>
<basename>libgstautodetect.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-avi.xml b/docs/plugins/inspect/plugin-avi.xml
index ce499ca..070a9ce 100644
--- a/docs/plugins/inspect/plugin-avi.xml
+++ b/docs/plugins/inspect/plugin-avi.xml
@@ -3,7 +3,7 @@
<description>AVI stream handling</description>
<filename>../../gst/avi/.libs/libgstavi.so</filename>
<basename>libgstavi.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cacasink.xml b/docs/plugins/inspect/plugin-cacasink.xml
index 8bfc013..38a9dde 100644
--- a/docs/plugins/inspect/plugin-cacasink.xml
+++ b/docs/plugins/inspect/plugin-cacasink.xml
@@ -3,7 +3,7 @@
<description>Colored ASCII Art video sink</description>
<filename>../../ext/libcaca/.libs/libgstcacasink.so</filename>
<basename>libgstcacasink.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cairo.xml b/docs/plugins/inspect/plugin-cairo.xml
index 7c29422..dfab84c 100644
--- a/docs/plugins/inspect/plugin-cairo.xml
+++ b/docs/plugins/inspect/plugin-cairo.xml
@@ -3,7 +3,7 @@
<description>Cairo-based elements</description>
<filename>../../ext/cairo/.libs/libgstcairo.so</filename>
<basename>libgstcairo.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cutter.xml b/docs/plugins/inspect/plugin-cutter.xml
index 2493363..83f9e3b 100644
--- a/docs/plugins/inspect/plugin-cutter.xml
+++ b/docs/plugins/inspect/plugin-cutter.xml
@@ -3,7 +3,7 @@
<description>Audio Cutter to split audio into non-silent bits</description>
<filename>../../gst/cutter/.libs/libgstcutter.so</filename>
<basename>libgstcutter.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-debug.xml b/docs/plugins/inspect/plugin-debug.xml
index c0256b1..c84867d 100644
--- a/docs/plugins/inspect/plugin-debug.xml
+++ b/docs/plugins/inspect/plugin-debug.xml
@@ -3,7 +3,7 @@
<description>elements for testing and debugging</description>
<filename>../../gst/debugutils/.libs/libgstdebug.so</filename>
<basename>libgstdebug.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-deinterlace.xml b/docs/plugins/inspect/plugin-deinterlace.xml
index 15d0d28..ce05bcf 100644
--- a/docs/plugins/inspect/plugin-deinterlace.xml
+++ b/docs/plugins/inspect/plugin-deinterlace.xml
@@ -3,7 +3,7 @@
<description>Deinterlacer</description>
<filename>../../gst/deinterlace/.libs/libgstdeinterlace.so</filename>
<basename>libgstdeinterlace.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dtmf.xml b/docs/plugins/inspect/plugin-dtmf.xml
index 8fbc7d5..b34c1a3 100644
--- a/docs/plugins/inspect/plugin-dtmf.xml
+++ b/docs/plugins/inspect/plugin-dtmf.xml
@@ -3,7 +3,7 @@
<description>DTMF plugins</description>
<filename>../../gst/dtmf/.libs/libgstdtmf.so</filename>
<basename>libgstdtmf.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dv.xml b/docs/plugins/inspect/plugin-dv.xml
index adca858..1707dd1 100644
--- a/docs/plugins/inspect/plugin-dv.xml
+++ b/docs/plugins/inspect/plugin-dv.xml
@@ -3,7 +3,7 @@
<description>DV demuxer and decoder based on libdv (libdv.sf.net)</description>
<filename>../../ext/dv/.libs/libgstdv.so</filename>
<basename>libgstdv.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-effectv.xml b/docs/plugins/inspect/plugin-effectv.xml
index bae9c1d..b3f8863 100644
--- a/docs/plugins/inspect/plugin-effectv.xml
+++ b/docs/plugins/inspect/plugin-effectv.xml
@@ -3,7 +3,7 @@
<description>effect plugins from the effectv project</description>
<filename>../../gst/effectv/.libs/libgsteffectv.so</filename>
<basename>libgsteffectv.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-equalizer.xml b/docs/plugins/inspect/plugin-equalizer.xml
index 8e9bf24..807793c 100644
--- a/docs/plugins/inspect/plugin-equalizer.xml
+++ b/docs/plugins/inspect/plugin-equalizer.xml
@@ -3,7 +3,7 @@
<description>GStreamer audio equalizers</description>
<filename>../../gst/equalizer/.libs/libgstequalizer.so</filename>
<basename>libgstequalizer.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flac.xml b/docs/plugins/inspect/plugin-flac.xml
index d7a2e3b..533e92e 100644
--- a/docs/plugins/inspect/plugin-flac.xml
+++ b/docs/plugins/inspect/plugin-flac.xml
@@ -3,7 +3,7 @@
<description>The FLAC Lossless compressor Codec</description>
<filename>../../ext/flac/.libs/libgstflac.so</filename>
<basename>libgstflac.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flv.xml b/docs/plugins/inspect/plugin-flv.xml
index 2a5cd02..3baa5be 100644
--- a/docs/plugins/inspect/plugin-flv.xml
+++ b/docs/plugins/inspect/plugin-flv.xml
@@ -3,7 +3,7 @@
<description>FLV muxing and demuxing plugin</description>
<filename>../../gst/flv/.libs/libgstflv.so</filename>
<basename>libgstflv.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flxdec.xml b/docs/plugins/inspect/plugin-flxdec.xml
index 55c0a3c..ff263a4 100644
--- a/docs/plugins/inspect/plugin-flxdec.xml
+++ b/docs/plugins/inspect/plugin-flxdec.xml
@@ -3,7 +3,7 @@
<description>FLC/FLI/FLX video decoder</description>
<filename>../../gst/flx/.libs/libgstflxdec.so</filename>
<basename>libgstflxdec.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gdkpixbuf.xml b/docs/plugins/inspect/plugin-gdkpixbuf.xml
index cc453a1..0c57762 100644
--- a/docs/plugins/inspect/plugin-gdkpixbuf.xml
+++ b/docs/plugins/inspect/plugin-gdkpixbuf.xml
@@ -3,7 +3,7 @@
<description>GdkPixbuf-based image decoder, overlay and sink</description>
<filename>../../ext/gdk_pixbuf/.libs/libgstgdkpixbuf.so</filename>
<basename>libgstgdkpixbuf.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-goom.xml b/docs/plugins/inspect/plugin-goom.xml
index b3a83f6..14193ab 100644
--- a/docs/plugins/inspect/plugin-goom.xml
+++ b/docs/plugins/inspect/plugin-goom.xml
@@ -3,7 +3,7 @@
<description>GOOM visualization filter</description>
<filename>../../gst/goom/.libs/libgstgoom.so</filename>
<basename>libgstgoom.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-goom2k1.xml b/docs/plugins/inspect/plugin-goom2k1.xml
index 93afc96..2372ac3 100644
--- a/docs/plugins/inspect/plugin-goom2k1.xml
+++ b/docs/plugins/inspect/plugin-goom2k1.xml
@@ -3,7 +3,7 @@
<description>GOOM 2k1 visualization filter</description>
<filename>../../gst/goom2k1/.libs/libgstgoom2k1.so</filename>
<basename>libgstgoom2k1.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-icydemux.xml b/docs/plugins/inspect/plugin-icydemux.xml
index db59705..63a5dd1 100644
--- a/docs/plugins/inspect/plugin-icydemux.xml
+++ b/docs/plugins/inspect/plugin-icydemux.xml
@@ -3,7 +3,7 @@
<description>Demux ICY tags from a stream</description>
<filename>../../gst/icydemux/.libs/libgsticydemux.so</filename>
<basename>libgsticydemux.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-id3demux.xml b/docs/plugins/inspect/plugin-id3demux.xml
index 9980bcd..c1c2cf6 100644
--- a/docs/plugins/inspect/plugin-id3demux.xml
+++ b/docs/plugins/inspect/plugin-id3demux.xml
@@ -3,7 +3,7 @@
<description>Demux ID3v1 and ID3v2 tags from a file</description>
<filename>../../gst/id3demux/.libs/libgstid3demux.so</filename>
<basename>libgstid3demux.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-imagefreeze.xml b/docs/plugins/inspect/plugin-imagefreeze.xml
index 473b2b4..ec8b234 100644
--- a/docs/plugins/inspect/plugin-imagefreeze.xml
+++ b/docs/plugins/inspect/plugin-imagefreeze.xml
@@ -3,7 +3,7 @@
<description>Still frame stream generator</description>
<filename>../../gst/imagefreeze/.libs/libgstimagefreeze.so</filename>
<basename>libgstimagefreeze.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-interleave.xml b/docs/plugins/inspect/plugin-interleave.xml
index 4df5b9b..f8c9952 100644
--- a/docs/plugins/inspect/plugin-interleave.xml
+++ b/docs/plugins/inspect/plugin-interleave.xml
@@ -3,7 +3,7 @@
<description>Audio interleaver/deinterleaver</description>
<filename>../../gst/interleave/.libs/libgstinterleave.so</filename>
<basename>libgstinterleave.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-isomp4.xml b/docs/plugins/inspect/plugin-isomp4.xml
index 45336bb..4edc030 100644
--- a/docs/plugins/inspect/plugin-isomp4.xml
+++ b/docs/plugins/inspect/plugin-isomp4.xml
@@ -3,7 +3,7 @@
<description>ISO base media file format support (mp4, 3gpp, qt, mj2)</description>
<filename>../../gst/isomp4/.libs/libgstisomp4.so</filename>
<basename>libgstisomp4.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml
index 7aea17a..90b106f 100644
--- a/docs/plugins/inspect/plugin-jack.xml
+++ b/docs/plugins/inspect/plugin-jack.xml
@@ -3,7 +3,7 @@
<description>JACK audio elements</description>
<filename>../../ext/jack/.libs/libgstjack.so</filename>
<basename>libgstjack.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jpeg.xml b/docs/plugins/inspect/plugin-jpeg.xml
index 3d55e17..9af2ae6 100644
--- a/docs/plugins/inspect/plugin-jpeg.xml
+++ b/docs/plugins/inspect/plugin-jpeg.xml
@@ -3,7 +3,7 @@
<description>JPeg plugin library</description>
<filename>../../ext/jpeg/.libs/libgstjpeg.so</filename>
<basename>libgstjpeg.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-level.xml b/docs/plugins/inspect/plugin-level.xml
index 252dbc8..1f7330b 100644
--- a/docs/plugins/inspect/plugin-level.xml
+++ b/docs/plugins/inspect/plugin-level.xml
@@ -3,7 +3,7 @@
<description>Audio level plugin</description>
<filename>../../gst/level/.libs/libgstlevel.so</filename>
<basename>libgstlevel.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-matroska.xml b/docs/plugins/inspect/plugin-matroska.xml
index b251363..7fbe36f 100644
--- a/docs/plugins/inspect/plugin-matroska.xml
+++ b/docs/plugins/inspect/plugin-matroska.xml
@@ -3,7 +3,7 @@
<description>Matroska and WebM stream handling</description>
<filename>../../gst/matroska/.libs/libgstmatroska.so</filename>
<basename>libgstmatroska.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mulaw.xml b/docs/plugins/inspect/plugin-mulaw.xml
index db82cdb..5f0295c 100644
--- a/docs/plugins/inspect/plugin-mulaw.xml
+++ b/docs/plugins/inspect/plugin-mulaw.xml
@@ -3,7 +3,7 @@
<description>MuLaw audio conversion routines</description>
<filename>../../gst/law/.libs/libgstmulaw.so</filename>
<basename>libgstmulaw.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multifile.xml b/docs/plugins/inspect/plugin-multifile.xml
index 4ad9d4f..d1a161b 100644
--- a/docs/plugins/inspect/plugin-multifile.xml
+++ b/docs/plugins/inspect/plugin-multifile.xml
@@ -3,7 +3,7 @@
<description>Reads/Writes buffers from/to sequentially named files</description>
<filename>../../gst/multifile/.libs/libgstmultifile.so</filename>
<basename>libgstmultifile.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multipart.xml b/docs/plugins/inspect/plugin-multipart.xml
index 2c963c2..6c776e0 100644
--- a/docs/plugins/inspect/plugin-multipart.xml
+++ b/docs/plugins/inspect/plugin-multipart.xml
@@ -3,7 +3,7 @@
<description>multipart stream manipulation</description>
<filename>../../gst/multipart/.libs/libgstmultipart.so</filename>
<basename>libgstmultipart.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-navigationtest.xml b/docs/plugins/inspect/plugin-navigationtest.xml
index 87ae734..1527614 100644
--- a/docs/plugins/inspect/plugin-navigationtest.xml
+++ b/docs/plugins/inspect/plugin-navigationtest.xml
@@ -3,7 +3,7 @@
<description>Template for a video filter</description>
<filename>../../gst/debugutils/.libs/libgstnavigationtest.so</filename>
<basename>libgstnavigationtest.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-oss4.xml b/docs/plugins/inspect/plugin-oss4.xml
index 546ef65..daa0b35 100644
--- a/docs/plugins/inspect/plugin-oss4.xml
+++ b/docs/plugins/inspect/plugin-oss4.xml
@@ -3,7 +3,7 @@
<description>Open Sound System (OSS) version 4 support for GStreamer</description>
<filename>../../sys/oss4/.libs/libgstoss4audio.so</filename>
<basename>libgstoss4audio.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ossaudio.xml b/docs/plugins/inspect/plugin-ossaudio.xml
index d36fa05..76c0a87 100644
--- a/docs/plugins/inspect/plugin-ossaudio.xml
+++ b/docs/plugins/inspect/plugin-ossaudio.xml
@@ -3,7 +3,7 @@
<description>OSS (Open Sound System) support for GStreamer</description>
<filename>../../sys/oss/.libs/libgstossaudio.so</filename>
<basename>libgstossaudio.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-png.xml b/docs/plugins/inspect/plugin-png.xml
index ab14fe5..9683ac8 100644
--- a/docs/plugins/inspect/plugin-png.xml
+++ b/docs/plugins/inspect/plugin-png.xml
@@ -3,7 +3,7 @@
<description>PNG plugin library</description>
<filename>../../ext/libpng/.libs/libgstpng.so</filename>
<basename>libgstpng.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-pulseaudio.xml b/docs/plugins/inspect/plugin-pulseaudio.xml
index f0840de..ccaeb33 100644
--- a/docs/plugins/inspect/plugin-pulseaudio.xml
+++ b/docs/plugins/inspect/plugin-pulseaudio.xml
@@ -3,7 +3,7 @@
<description>PulseAudio plugin library</description>
<filename>../../ext/pulse/.libs/libgstpulse.so</filename>
<basename>libgstpulse.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-replaygain.xml b/docs/plugins/inspect/plugin-replaygain.xml
index f043666..b77516d 100644
--- a/docs/plugins/inspect/plugin-replaygain.xml
+++ b/docs/plugins/inspect/plugin-replaygain.xml
@@ -3,7 +3,7 @@
<description>ReplayGain volume normalization</description>
<filename>../../gst/replaygain/.libs/libgstreplaygain.so</filename>
<basename>libgstreplaygain.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtp.xml b/docs/plugins/inspect/plugin-rtp.xml
index 920b05d..8f52745 100644
--- a/docs/plugins/inspect/plugin-rtp.xml
+++ b/docs/plugins/inspect/plugin-rtp.xml
@@ -3,7 +3,7 @@
<description>Real-time protocol plugins</description>
<filename>../../gst/rtp/.libs/libgstrtp.so</filename>
<basename>libgstrtp.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtpmanager.xml b/docs/plugins/inspect/plugin-rtpmanager.xml
index 984c5e5..bd1e101 100644
--- a/docs/plugins/inspect/plugin-rtpmanager.xml
+++ b/docs/plugins/inspect/plugin-rtpmanager.xml
@@ -3,7 +3,7 @@
<description>RTP session management plugin library</description>
<filename>../../gst/rtpmanager/.libs/libgstrtpmanager.so</filename>
<basename>libgstrtpmanager.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtsp.xml b/docs/plugins/inspect/plugin-rtsp.xml
index eba6a68..9266120 100644
--- a/docs/plugins/inspect/plugin-rtsp.xml
+++ b/docs/plugins/inspect/plugin-rtsp.xml
@@ -3,7 +3,7 @@
<description>transfer data via RTSP</description>
<filename>../../gst/rtsp/.libs/libgstrtsp.so</filename>
<basename>libgstrtsp.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shapewipe.xml b/docs/plugins/inspect/plugin-shapewipe.xml
index ec71faa..835fe83 100644
--- a/docs/plugins/inspect/plugin-shapewipe.xml
+++ b/docs/plugins/inspect/plugin-shapewipe.xml
@@ -3,7 +3,7 @@
<description>Shape Wipe transition filter</description>
<filename>../../gst/shapewipe/.libs/libgstshapewipe.so</filename>
<basename>libgstshapewipe.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shout2send.xml b/docs/plugins/inspect/plugin-shout2send.xml
index e862dec..193fe2c 100644
--- a/docs/plugins/inspect/plugin-shout2send.xml
+++ b/docs/plugins/inspect/plugin-shout2send.xml
@@ -3,7 +3,7 @@
<description>Sends data to an icecast server using libshout2</description>
<filename>../../ext/shout2/.libs/libgstshout2.so</filename>
<basename>libgstshout2.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>libshout2</package>
diff --git a/docs/plugins/inspect/plugin-smpte.xml b/docs/plugins/inspect/plugin-smpte.xml
index 27d9970..58f0f72 100644
--- a/docs/plugins/inspect/plugin-smpte.xml
+++ b/docs/plugins/inspect/plugin-smpte.xml
@@ -3,7 +3,7 @@
<description>Apply the standard SMPTE transitions on video images</description>
<filename>../../gst/smpte/.libs/libgstsmpte.so</filename>
<basename>libgstsmpte.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-soup.xml b/docs/plugins/inspect/plugin-soup.xml
index d65028d..d3afa28 100644
--- a/docs/plugins/inspect/plugin-soup.xml
+++ b/docs/plugins/inspect/plugin-soup.xml
@@ -3,7 +3,7 @@
<description>libsoup HTTP client src/sink</description>
<filename>../../ext/soup/.libs/libgstsouphttpsrc.so</filename>
<basename>libgstsouphttpsrc.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-spectrum.xml b/docs/plugins/inspect/plugin-spectrum.xml
index d3a57dc..059d390 100644
--- a/docs/plugins/inspect/plugin-spectrum.xml
+++ b/docs/plugins/inspect/plugin-spectrum.xml
@@ -3,7 +3,7 @@
<description>Run an FFT on the audio signal, output spectrum data</description>
<filename>../../gst/spectrum/.libs/libgstspectrum.so</filename>
<basename>libgstspectrum.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-speex.xml b/docs/plugins/inspect/plugin-speex.xml
index ad5044e..2d39cef 100644
--- a/docs/plugins/inspect/plugin-speex.xml
+++ b/docs/plugins/inspect/plugin-speex.xml
@@ -3,7 +3,7 @@
<description>Speex plugin library</description>
<filename>../../ext/speex/.libs/libgstspeex.so</filename>
<basename>libgstspeex.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-taglib.xml b/docs/plugins/inspect/plugin-taglib.xml
index d780a71..a446fa7 100644
--- a/docs/plugins/inspect/plugin-taglib.xml
+++ b/docs/plugins/inspect/plugin-taglib.xml
@@ -3,7 +3,7 @@
<description>Tag writing plug-in based on taglib</description>
<filename>../../ext/taglib/.libs/libgsttaglib.so</filename>
<basename>libgsttaglib.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-udp.xml b/docs/plugins/inspect/plugin-udp.xml
index 463d091..5570211 100644
--- a/docs/plugins/inspect/plugin-udp.xml
+++ b/docs/plugins/inspect/plugin-udp.xml
@@ -3,7 +3,7 @@
<description>transfer data via UDP</description>
<filename>../../gst/udp/.libs/libgstudp.so</filename>
<basename>libgstudp.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-video4linux2.xml b/docs/plugins/inspect/plugin-video4linux2.xml
index 67c9123..52632bd 100644
--- a/docs/plugins/inspect/plugin-video4linux2.xml
+++ b/docs/plugins/inspect/plugin-video4linux2.xml
@@ -3,7 +3,7 @@
<description>elements for Video 4 Linux</description>
<filename>../../sys/v4l2/.libs/libgstvideo4linux2.so</filename>
<basename>libgstvideo4linux2.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videobox.xml b/docs/plugins/inspect/plugin-videobox.xml
index 819ceba..2484090 100644
--- a/docs/plugins/inspect/plugin-videobox.xml
+++ b/docs/plugins/inspect/plugin-videobox.xml
@@ -3,7 +3,7 @@
<description>resizes a video by adding borders or cropping</description>
<filename>../../gst/videobox/.libs/libgstvideobox.so</filename>
<basename>libgstvideobox.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videocrop.xml b/docs/plugins/inspect/plugin-videocrop.xml
index b116483..17d3804 100644
--- a/docs/plugins/inspect/plugin-videocrop.xml
+++ b/docs/plugins/inspect/plugin-videocrop.xml
@@ -3,7 +3,7 @@
<description>Crops video into a user-defined region</description>
<filename>../../gst/videocrop/.libs/libgstvideocrop.so</filename>
<basename>libgstvideocrop.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videofilter.xml b/docs/plugins/inspect/plugin-videofilter.xml
index d05b415..f43b0b3 100644
--- a/docs/plugins/inspect/plugin-videofilter.xml
+++ b/docs/plugins/inspect/plugin-videofilter.xml
@@ -3,7 +3,7 @@
<description>Video filters plugin</description>
<filename>../../gst/videofilter/.libs/libgstvideofilter.so</filename>
<basename>libgstvideofilter.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videomixer.xml b/docs/plugins/inspect/plugin-videomixer.xml
index 7c40795..4ea6f6d 100644
--- a/docs/plugins/inspect/plugin-videomixer.xml
+++ b/docs/plugins/inspect/plugin-videomixer.xml
@@ -3,7 +3,7 @@
<description>Video mixer</description>
<filename>../../gst/videomixer/.libs/libgstvideomixer.so</filename>
<basename>libgstvideomixer.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vpx.xml b/docs/plugins/inspect/plugin-vpx.xml
index 682c715..93eb059 100644
--- a/docs/plugins/inspect/plugin-vpx.xml
+++ b/docs/plugins/inspect/plugin-vpx.xml
@@ -3,7 +3,7 @@
<description>VP8 plugin</description>
<filename>../../ext/vpx/.libs/libgstvpx.so</filename>
<basename>libgstvpx.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavenc.xml b/docs/plugins/inspect/plugin-wavenc.xml
index eeda55f..8e7dc2f 100644
--- a/docs/plugins/inspect/plugin-wavenc.xml
+++ b/docs/plugins/inspect/plugin-wavenc.xml
@@ -3,7 +3,7 @@
<description>Encode raw audio into WAV</description>
<filename>../../gst/wavenc/.libs/libgstwavenc.so</filename>
<basename>libgstwavenc.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavpack.xml b/docs/plugins/inspect/plugin-wavpack.xml
index 84d9b54..9ef0349 100644
--- a/docs/plugins/inspect/plugin-wavpack.xml
+++ b/docs/plugins/inspect/plugin-wavpack.xml
@@ -3,7 +3,7 @@
<description>Wavpack lossless/lossy audio format handling</description>
<filename>../../ext/wavpack/.libs/libgstwavpack.so</filename>
<basename>libgstwavpack.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavparse.xml b/docs/plugins/inspect/plugin-wavparse.xml
index c0f6b4a..10025ab 100644
--- a/docs/plugins/inspect/plugin-wavparse.xml
+++ b/docs/plugins/inspect/plugin-wavparse.xml
@@ -3,7 +3,7 @@
<description>Parse a .wav file into raw audio</description>
<filename>../../gst/wavparse/.libs/libgstwavparse.so</filename>
<basename>libgstwavparse.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ximagesrc.xml b/docs/plugins/inspect/plugin-ximagesrc.xml
index 89652ab..635fc5f 100644
--- a/docs/plugins/inspect/plugin-ximagesrc.xml
+++ b/docs/plugins/inspect/plugin-ximagesrc.xml
@@ -3,7 +3,7 @@
<description>X11 video input plugin using standard Xlib calls</description>
<filename>../../sys/ximage/.libs/libgstximagesrc.so</filename>
<basename>libgstximagesrc.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-y4menc.xml b/docs/plugins/inspect/plugin-y4menc.xml
index 748329d..ffabbef 100644
--- a/docs/plugins/inspect/plugin-y4menc.xml
+++ b/docs/plugins/inspect/plugin-y4menc.xml
@@ -3,7 +3,7 @@
<description>Encodes a YUV frame into the yuv4mpeg format (mjpegtools)</description>
<filename>../../gst/y4m/.libs/libgsty4menc.so</filename>
<basename>libgsty4menc.so</basename>
- <version>1.10.1</version>
+ <version>1.10.2</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/ext/gdk_pixbuf/gstgdkpixbufoverlay.c b/ext/gdk_pixbuf/gstgdkpixbufoverlay.c
index 85421db..b765091 100644
--- a/ext/gdk_pixbuf/gstgdkpixbufoverlay.c
+++ b/ext/gdk_pixbuf/gstgdkpixbufoverlay.c
@@ -557,20 +557,6 @@
positioning_mode = overlay->positioning_mode;
- if (positioning_mode == GST_GDK_PIXBUF_POSITIONING_PIXELS_ABSOLUTE) {
- x = overlay->offset_x + (overlay->relative_x * overlay_meta->width);
- y = overlay->offset_y + (overlay->relative_y * overlay_meta->height);
- } else {
- x = overlay->offset_x < 0 ?
- video_width + overlay->offset_x - overlay_meta->width +
- (overlay->relative_x * overlay_meta->width) :
- overlay->offset_x + (overlay->relative_x * overlay_meta->width);
- y = overlay->offset_y < 0 ?
- video_height + overlay->offset_y - overlay_meta->height +
- (overlay->relative_y * overlay_meta->height) :
- overlay->offset_y + (overlay->relative_y * overlay_meta->height);
- }
-
width = overlay->overlay_width;
if (width == 0)
width = overlay_meta->width;
@@ -579,6 +565,20 @@
if (height == 0)
height = overlay_meta->height;
+ if (positioning_mode == GST_GDK_PIXBUF_POSITIONING_PIXELS_ABSOLUTE) {
+ x = overlay->offset_x + (overlay->relative_x * width);
+ y = overlay->offset_y + (overlay->relative_y * height);
+ } else {
+ x = overlay->offset_x < 0 ?
+ video_width + overlay->offset_x - width +
+ (overlay->relative_x * video_width) :
+ overlay->offset_x + (overlay->relative_x * video_width);
+ y = overlay->offset_y < 0 ?
+ video_height + overlay->offset_y - height +
+ (overlay->relative_y * video_height) :
+ overlay->offset_y + (overlay->relative_y * video_height);
+ }
+
GST_DEBUG_OBJECT (overlay, "overlay image dimensions: %d x %d, alpha=%.2f",
overlay_meta->width, overlay_meta->height, overlay->alpha);
GST_DEBUG_OBJECT (overlay, "properties: x,y: %d,%d (%g%%,%g%%) - WxH: %dx%d",
diff --git a/ext/soup/gstsouphttpsrc.c b/ext/soup/gstsouphttpsrc.c
index ce93be8..fc7cba7 100644
--- a/ext/soup/gstsouphttpsrc.c
+++ b/ext/soup/gstsouphttpsrc.c
@@ -988,6 +988,9 @@
GstStructure *headers = user_data;
const GValue *gv;
+ if (!g_utf8_validate (name, -1, NULL) || !g_utf8_validate (value, -1, NULL))
+ return;
+
gv = gst_structure_get_value (headers, name);
if (gv && GST_VALUE_HOLDS_ARRAY (gv)) {
GValue v = G_VALUE_INIT;
@@ -1035,13 +1038,30 @@
return;
if (src->automatic_redirect && SOUP_STATUS_IS_REDIRECTION (msg->status_code)) {
- src->redirection_uri = g_strdup (soup_message_headers_get_one
- (msg->response_headers, "Location"));
- src->redirection_permanent =
- (msg->status_code == SOUP_STATUS_MOVED_PERMANENTLY);
- GST_DEBUG_OBJECT (src, "%u redirect to \"%s\" (permanent %d)",
- msg->status_code, src->redirection_uri, src->redirection_permanent);
- return;
+ const gchar *location;
+
+ location = soup_message_headers_get_one (msg->response_headers, "Location");
+
+ if (location) {
+ if (!g_utf8_validate (location, -1, NULL)) {
+ GST_ELEMENT_ERROR_WITH_DETAILS (src, RESOURCE, SEEK,
+ (_("Corrupted HTTP response.")),
+ ("Location header is not valid UTF-8"),
+ ("http-status-code", G_TYPE_UINT, msg->status_code,
+ "http-redirection-uri", G_TYPE_STRING,
+ GST_STR_NULL (src->redirection_uri), NULL));
+ src->ret = GST_FLOW_ERROR;
+ return;
+ }
+
+ src->redirection_uri = g_strdup (location);
+
+ src->redirection_permanent =
+ (msg->status_code == SOUP_STATUS_MOVED_PERMANENTLY);
+ GST_DEBUG_OBJECT (src, "%u redirect to \"%s\" (permanent %d)",
+ msg->status_code, src->redirection_uri, src->redirection_permanent);
+ return;
+ }
}
if (msg->status_code == SOUP_STATUS_UNAUTHORIZED) {
@@ -1110,46 +1130,70 @@
if ((value =
soup_message_headers_get_one (msg->response_headers,
"icy-metaint")) != NULL) {
- gint icy_metaint = atoi (value);
+ gint icy_metaint;
- GST_DEBUG_OBJECT (src, "icy-metaint: %s (parsed: %d)", value, icy_metaint);
- if (icy_metaint > 0) {
- if (src->src_caps)
- gst_caps_unref (src->src_caps);
+ if (g_utf8_validate (value, -1, NULL)) {
+ icy_metaint = atoi (value);
- src->src_caps = gst_caps_new_simple ("application/x-icy",
- "metadata-interval", G_TYPE_INT, icy_metaint, NULL);
+ GST_DEBUG_OBJECT (src, "icy-metaint: %s (parsed: %d)", value,
+ icy_metaint);
+ if (icy_metaint > 0) {
+ if (src->src_caps)
+ gst_caps_unref (src->src_caps);
- gst_base_src_set_caps (GST_BASE_SRC (src), src->src_caps);
+ src->src_caps = gst_caps_new_simple ("application/x-icy",
+ "metadata-interval", G_TYPE_INT, icy_metaint, NULL);
+
+ gst_base_src_set_caps (GST_BASE_SRC (src), src->src_caps);
+ }
}
}
if ((value =
soup_message_headers_get_content_type (msg->response_headers,
¶ms)) != NULL) {
- GST_DEBUG_OBJECT (src, "Content-Type: %s", value);
- if (g_ascii_strcasecmp (value, "audio/L16") == 0) {
+ if (!g_utf8_validate (value, -1, NULL)) {
+ GST_WARNING_OBJECT (src, "Content-Type is invalid UTF-8");
+ } else if (g_ascii_strcasecmp (value, "audio/L16") == 0) {
gint channels = 2;
gint rate = 44100;
char *param;
- if (src->src_caps)
+ GST_DEBUG_OBJECT (src, "Content-Type: %s", value);
+
+ if (src->src_caps) {
gst_caps_unref (src->src_caps);
+ src->src_caps = NULL;
+ }
param = g_hash_table_lookup (params, "channels");
- if (param != NULL)
- channels = atol (param);
+ if (param != NULL) {
+ guint64 val = g_ascii_strtoull (param, NULL, 10);
+ if (val < 64)
+ channels = val;
+ else
+ channels = 0;
+ }
param = g_hash_table_lookup (params, "rate");
- if (param != NULL)
- rate = atol (param);
+ if (param != NULL) {
+ guint64 val = g_ascii_strtoull (param, NULL, 10);
+ if (val < G_MAXINT)
+ rate = val;
+ else
+ rate = 0;
+ }
- src->src_caps = gst_caps_new_simple ("audio/x-unaligned-raw",
- "format", G_TYPE_STRING, "S16BE",
- "layout", G_TYPE_STRING, "interleaved",
- "channels", G_TYPE_INT, channels, "rate", G_TYPE_INT, rate, NULL);
+ if (rate > 0 && channels > 0) {
+ src->src_caps = gst_caps_new_simple ("audio/x-unaligned-raw",
+ "format", G_TYPE_STRING, "S16BE",
+ "layout", G_TYPE_STRING, "interleaved",
+ "channels", G_TYPE_INT, channels, "rate", G_TYPE_INT, rate, NULL);
- gst_base_src_set_caps (GST_BASE_SRC (src), src->src_caps);
+ gst_base_src_set_caps (GST_BASE_SRC (src), src->src_caps);
+ }
} else {
+ GST_DEBUG_OBJECT (src, "Content-Type: %s", value);
+
/* Set the Content-Type field on the caps */
if (src->src_caps) {
src->src_caps = gst_caps_make_writable (src->src_caps);
@@ -1166,30 +1210,36 @@
if ((value =
soup_message_headers_get_one (msg->response_headers,
"icy-name")) != NULL) {
- g_free (src->iradio_name);
- src->iradio_name = gst_soup_http_src_unicodify (value);
- if (src->iradio_name) {
- gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE, GST_TAG_ORGANIZATION,
- src->iradio_name, NULL);
+ if (g_utf8_validate (value, -1, NULL)) {
+ g_free (src->iradio_name);
+ src->iradio_name = gst_soup_http_src_unicodify (value);
+ if (src->iradio_name) {
+ gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE, GST_TAG_ORGANIZATION,
+ src->iradio_name, NULL);
+ }
}
}
if ((value =
soup_message_headers_get_one (msg->response_headers,
"icy-genre")) != NULL) {
- g_free (src->iradio_genre);
- src->iradio_genre = gst_soup_http_src_unicodify (value);
- if (src->iradio_genre) {
- gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE, GST_TAG_GENRE,
- src->iradio_genre, NULL);
+ if (g_utf8_validate (value, -1, NULL)) {
+ g_free (src->iradio_genre);
+ src->iradio_genre = gst_soup_http_src_unicodify (value);
+ if (src->iradio_genre) {
+ gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE, GST_TAG_GENRE,
+ src->iradio_genre, NULL);
+ }
}
}
if ((value = soup_message_headers_get_one (msg->response_headers, "icy-url"))
!= NULL) {
- g_free (src->iradio_url);
- src->iradio_url = gst_soup_http_src_unicodify (value);
- if (src->iradio_url) {
- gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE, GST_TAG_LOCATION,
- src->iradio_url, NULL);
+ if (g_utf8_validate (value, -1, NULL)) {
+ g_free (src->iradio_url);
+ src->iradio_url = gst_soup_http_src_unicodify (value);
+ if (src->iradio_url) {
+ gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE, GST_TAG_LOCATION,
+ src->iradio_url, NULL);
+ }
}
}
if (!gst_tag_list_is_empty (tag_list)) {
@@ -1298,6 +1348,14 @@
} else if (SOUP_STATUS_IS_CLIENT_ERROR (msg->status_code) ||
SOUP_STATUS_IS_REDIRECTION (msg->status_code) ||
SOUP_STATUS_IS_SERVER_ERROR (msg->status_code)) {
+ const gchar *reason_phrase;
+
+ reason_phrase = msg->reason_phrase;
+ if (reason_phrase && !g_utf8_validate (reason_phrase, -1, NULL)) {
+ GST_ERROR_OBJECT (src, "Invalid UTF-8 in reason");
+ reason_phrase = "(invalid)";
+ }
+
/* Report HTTP error. */
/* when content_size is unknown and we have just finished receiving
@@ -1316,8 +1374,8 @@
*/
if (msg->status_code == SOUP_STATUS_NOT_FOUND) {
GST_ELEMENT_ERROR_WITH_DETAILS (src, RESOURCE, NOT_FOUND,
- ("%s", msg->reason_phrase),
- ("%s (%d), URL: %s, Redirect to: %s", msg->reason_phrase,
+ ("%s", reason_phrase),
+ ("%s (%d), URL: %s, Redirect to: %s", reason_phrase,
msg->status_code, src->location,
GST_STR_NULL (src->redirection_uri)),
("http-status-code", G_TYPE_UINT, msg->status_code,
@@ -1328,15 +1386,15 @@
|| msg->status_code == SOUP_STATUS_FORBIDDEN
|| msg->status_code == SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED) {
GST_ELEMENT_ERROR_WITH_DETAILS (src, RESOURCE, NOT_AUTHORIZED, ("%s",
- msg->reason_phrase), ("%s (%d), URL: %s, Redirect to: %s",
- msg->reason_phrase, msg->status_code, src->location,
+ reason_phrase), ("%s (%d), URL: %s, Redirect to: %s",
+ reason_phrase, msg->status_code, src->location,
GST_STR_NULL (src->redirection_uri)), ("http-status-code",
G_TYPE_UINT, msg->status_code, "http-redirect-uri", G_TYPE_STRING,
GST_STR_NULL (src->redirection_uri), NULL));
} else {
GST_ELEMENT_ERROR_WITH_DETAILS (src, RESOURCE, OPEN_READ,
- ("%s", msg->reason_phrase),
- ("%s (%d), URL: %s, Redirect to: %s", msg->reason_phrase,
+ ("%s", reason_phrase),
+ ("%s (%d), URL: %s, Redirect to: %s", reason_phrase,
msg->status_code, src->location,
GST_STR_NULL (src->redirection_uri)),
("http-status-code", G_TYPE_UINT, msg->status_code,
diff --git a/ext/vpx/gstvpxdec.c b/ext/vpx/gstvpxdec.c
index 42619c5..2501c4a 100644
--- a/ext/vpx/gstvpxdec.c
+++ b/ext/vpx/gstvpxdec.c
@@ -482,9 +482,12 @@
{
struct Frame *frame = fb->priv;
+ /* We're sometimes called without a frame */
+ if (!frame)
+ return 0;
+
GST_TRACE_OBJECT (priv, "Release buffer %p", frame->buffer);
- g_assert (frame);
gst_buffer_unmap (frame->buffer, &frame->info);
gst_buffer_unref (frame->buffer);
g_free (frame);
diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap
index 23efefb..603f141 100644
--- a/gst-plugins-good.doap
+++ b/gst-plugins-good.doap
@@ -34,6 +34,16 @@
<release>
<Version>
+ <revision>1.10.2</revision>
+ <branch>1.10</branch>
+ <name></name>
+ <created>2016-11-29</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.2.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.10.1</revision>
<branch>1.10</branch>
<name></name>
diff --git a/gst-plugins-good.spec b/gst-plugins-good.spec
index 5d36ed1..add6fca 100644
--- a/gst-plugins-good.spec
+++ b/gst-plugins-good.spec
@@ -4,7 +4,7 @@
%define gst_minver 0.11.0
Name: %{gstreamer}-plugins-good
-Version: 1.10.1
+Version: 1.10.2
Release: 1.gst
Summary: GStreamer plug-ins with good code and licensing
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index 1fe3176..343009a 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -124,6 +124,9 @@
static void gst_avi_demux_parse_idit (GstAviDemux * avi, GstBuffer * buf);
static void gst_avi_demux_parse_strd (GstAviDemux * avi, GstBuffer * buf);
+static void parse_tag_value (GstAviDemux * avi, GstTagList * taglist,
+ const gchar * type, guint8 * ptr, guint tsize);
+
/* GObject methods */
#define gst_avi_demux_parent_class parent_class
@@ -1936,6 +1939,7 @@
s = gst_caps_get_structure (caps, 0);
if (gst_structure_has_name (s, "video/x-raw")) {
stream->is_raw = TRUE;
+ stream->alignment = 32;
if (!gst_structure_has_field (s, "pixel-aspect-ratio"))
gst_structure_set (s, "pixel-aspect-ratio", GST_TYPE_FRACTION,
1, 1, NULL);
@@ -2210,16 +2214,19 @@
g_free (stream->name);
gst_buffer_map (sub, &map, GST_MAP_READ);
- stream->name = g_strndup ((gchar *) map.data, map.size);
- gst_buffer_unmap (sub, &map);
- gst_buffer_unref (sub);
- sub = NULL;
if (avi->globaltags == NULL)
avi->globaltags = gst_tag_list_new_empty ();
- gst_tag_list_add (avi->globaltags, GST_TAG_MERGE_REPLACE,
- GST_TAG_TITLE, stream->name, NULL);
- GST_DEBUG_OBJECT (avi, "stream name: %s", stream->name);
+ parse_tag_value (avi, avi->globaltags, GST_TAG_TITLE,
+ map.data, map.size);
+
+ if (gst_tag_list_get_string (avi->globaltags, GST_TAG_TITLE,
+ &stream->name))
+ GST_DEBUG_OBJECT (avi, "stream name: %s", stream->name);
+
+ gst_buffer_unmap (sub, &map);
+ gst_buffer_unref (sub);
+ sub = NULL;
break;
case GST_RIFF_IDIT:
gst_avi_demux_parse_idit (avi, sub);
@@ -3803,8 +3810,9 @@
avi->globaltags = gst_tag_list_new_empty ();
gst_tag_list_add (avi->globaltags, GST_TAG_MERGE_APPEND,
- GST_TAG_DEVICE_MANUFACTURER, "FUJIFILM",
- GST_TAG_DEVICE_MODEL, ptr, NULL);
+ GST_TAG_DEVICE_MANUFACTURER, "FUJIFILM", NULL);
+ parse_tag_value (avi, avi->globaltags, GST_TAG_DEVICE_MODEL, ptr,
+ sub_size);
while (ptr[sub_size] == '\0' && sub_size < left)
sub_size++;
@@ -5137,6 +5145,44 @@
return stream_num;
}
+static GstBuffer *
+gst_avi_demux_align_buffer (GstAviDemux * demux,
+ GstBuffer * buffer, gsize alignment)
+{
+ GstMapInfo map;
+
+ gst_buffer_map (buffer, &map, GST_MAP_READ);
+
+ if (map.size < sizeof (guintptr)) {
+ gst_buffer_unmap (buffer, &map);
+ return buffer;
+ }
+
+ if (((guintptr) map.data) & (alignment - 1)) {
+ GstBuffer *new_buffer;
+ GstAllocationParams params = { 0, alignment - 1, 0, 0, };
+
+ new_buffer = gst_buffer_new_allocate (NULL,
+ gst_buffer_get_size (buffer), ¶ms);
+
+ /* Copy data "by hand", so ensure alignment is kept: */
+ gst_buffer_fill (new_buffer, 0, map.data, map.size);
+
+ gst_buffer_copy_into (new_buffer, buffer, GST_BUFFER_COPY_METADATA, 0, -1);
+ GST_DEBUG_OBJECT (demux,
+ "We want output aligned on %" G_GSIZE_FORMAT ", reallocated",
+ alignment);
+
+ gst_buffer_unmap (buffer, &map);
+ gst_buffer_unref (buffer);
+
+ return new_buffer;
+ }
+
+ gst_buffer_unmap (buffer, &map);
+ return buffer;
+}
+
static GstFlowReturn
gst_avi_demux_loop_data (GstAviDemux * avi)
{
@@ -5256,6 +5302,8 @@
gst_buffer_get_size (buf), GST_TIME_ARGS (timestamp),
GST_TIME_ARGS (duration), out_offset, out_offset_end);
+ if (stream->alignment > 1)
+ buf = gst_avi_demux_align_buffer (avi, buf, stream->alignment);
ret = gst_pad_push (stream->pad, buf);
/* mark as processed, we increment the frame and byte counters then
@@ -5545,6 +5593,9 @@
} else {
GST_BUFFER_FLAG_UNSET (buf, GST_BUFFER_FLAG_DISCONT);
}
+
+ if (stream->alignment > 1)
+ buf = gst_avi_demux_align_buffer (avi, buf, stream->alignment);
res = gst_pad_push (stream->pad, buf);
buf = NULL;
diff --git a/gst/avi/gstavidemux.h b/gst/avi/gstavidemux.h
index 813ec60..22e46a2 100644
--- a/gst/avi/gstavidemux.h
+++ b/gst/avi/gstavidemux.h
@@ -120,6 +120,7 @@
gint index_id;
gboolean is_raw;
+ gsize alignment;
} GstAviStream;
typedef enum {
diff --git a/gst/flx/flx_color.c b/gst/flx/flx_color.c
index 047bfdf..3a58135 100644
--- a/gst/flx/flx_color.c
+++ b/gst/flx/flx_color.c
@@ -101,7 +101,6 @@
} else {
memcpy (&flxpal->palvec[start * 3], newpal, grab * 3);
}
-
}
void
diff --git a/gst/flx/flx_fmt.h b/gst/flx/flx_fmt.h
index 9ab31ba..abff200 100644
--- a/gst/flx/flx_fmt.h
+++ b/gst/flx/flx_fmt.h
@@ -123,78 +123,6 @@
} FlxFrameType;
#define FlxFrameTypeSize 10
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-#define LE_TO_BE_16(i16) ((guint16) (((i16) << 8) | ((i16) >> 8)))
-#define LE_TO_BE_32(i32) \
- (((guint32) (LE_TO_BE_16((guint16) (i32))) << 16) | (LE_TO_BE_16((i32) >> 16)))
-
-#define FLX_FRAME_TYPE_FIX_ENDIANNESS(frm_type_p) \
- do { \
- (frm_type_p)->chunks = LE_TO_BE_16((frm_type_p)->chunks); \
- (frm_type_p)->delay = LE_TO_BE_16((frm_type_p)->delay); \
- } while(0)
-
-#define FLX_HUFFMAN_TABLE_FIX_ENDIANNESS(hffmn_table_p) \
- do { \
- (hffmn_table_p)->codelength = \
- LE_TO_BE_16((hffmn_table_p)->codelength); \
- (hffmn_table_p)->numcodes = LE_TO_BE_16((hffmn_table_p)->numcodes); \
- } while(0)
-
-#define FLX_SEGMENT_TABLE_FIX_ENDIANNESS(sgmnt_table_p) \
- ((sgmnt_table_p)->segments = LE_TO_BE_16((sgmnt_table_p)->segments))
-
-#define FLX_PREFIX_CHUNK_FIX_ENDIANNESS(prfx_chnk_p) \
- do { \
- (prfx_chnk_p)->chunks = LE_TO_BE_16((prfx_chnk_p)->chunks); \
- } while(0)
-
-#define FLX_FRAME_CHUNK_FIX_ENDIANNESS(frm_chnk_p) \
- do { \
- (frm_chnk_p)->size = LE_TO_BE_32((frm_chnk_p)->size); \
- (frm_chnk_p)->id = LE_TO_BE_16((frm_chnk_p)->id); \
- } while(0)
-
-#define FLX_HDR_FIX_ENDIANNESS(hdr_p) \
- do { \
- (hdr_p)->size = LE_TO_BE_32((hdr_p)->size); \
- (hdr_p)->type = LE_TO_BE_16((hdr_p)->type); \
- (hdr_p)->frames = LE_TO_BE_16((hdr_p)->frames); \
- (hdr_p)->width = LE_TO_BE_16((hdr_p)->width); \
- (hdr_p)->height = LE_TO_BE_16((hdr_p)->height); \
- (hdr_p)->depth = LE_TO_BE_16((hdr_p)->depth); \
- (hdr_p)->flags = LE_TO_BE_16((hdr_p)->flags); \
- (hdr_p)->speed = LE_TO_BE_32((hdr_p)->speed); \
- (hdr_p)->reserved1 = LE_TO_BE_16((hdr_p)->reserved1); \
- (hdr_p)->created = LE_TO_BE_32((hdr_p)->created); \
- (hdr_p)->creator = LE_TO_BE_32((hdr_p)->creator); \
- (hdr_p)->updated = LE_TO_BE_32((hdr_p)->updated); \
- (hdr_p)->updater = LE_TO_BE_32((hdr_p)->updater); \
- (hdr_p)->aspect_dx = LE_TO_BE_16((hdr_p)->aspect_dx); \
- (hdr_p)->aspect_dy = LE_TO_BE_16((hdr_p)->aspect_dy); \
- (hdr_p)->ext_flags = LE_TO_BE_16((hdr_p)->ext_flags); \
- (hdr_p)->keyframes = LE_TO_BE_16((hdr_p)->keyframes); \
- (hdr_p)->totalframes = LE_TO_BE_16((hdr_p)->totalframes); \
- (hdr_p)->req_memory = LE_TO_BE_32((hdr_p)->req_memory); \
- (hdr_p)->max_regions = LE_TO_BE_16((hdr_p)->max_regions); \
- (hdr_p)->transp_num = LE_TO_BE_16((hdr_p)->transp_num); \
- (hdr_p)->oframe1 = LE_TO_BE_32((hdr_p)->oframe1); \
- (hdr_p)->oframe2 = LE_TO_BE_32((hdr_p)->oframe2); \
- } while(0)
-#else
-
-#define LE_TO_BE_16(i16) ((i16))
-#define LE_TO_BE_32(i32) ((i32))
-
-#define FLX_FRAME_TYPE_FIX_ENDIANNESS(frm_type_p)
-#define FLX_HUFFMAN_TABLE_FIX_ENDIANNESS(hffmn_table_p)
-#define FLX_SEGMENT_TABLE_FIX_ENDIANNESS(sgmnt_table_p)
-#define FLX_PREFIX_CHUNK_FIX_ENDIANNESS(prfx_chnk_p)
-#define FLX_FRAME_CHUNK_FIX_ENDIANNESS(frm_chnk_p)
-#define FLX_HDR_FIX_ENDIANNESS(hdr_p)
-
-#endif /* G_BYTE_ORDER == G_BIG_ENDIAN */
-
G_END_DECLS
#endif /* __GST_FLX_FMT_H__ */
diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c
index 604be2f..aa1bed5 100644
--- a/gst/flx/gstflxdec.c
+++ b/gst/flx/gstflxdec.c
@@ -1,5 +1,6 @@
/* GStreamer
* Copyright (C) <1999> Erik Walthinsen <omega@temple-baptist.com>
+ * Copyright (C) <2016> Matthew Waters <matthew@centricular.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -24,6 +25,7 @@
/*
* http://www.coolutils.com/Formats/FLI
* http://woodshole.er.usgs.gov/operations/modeling/flc.html
+ * http://www.compuphase.com/flic.htm
*/
#ifdef HAVE_CONFIG_H
@@ -73,10 +75,14 @@
static gboolean gst_flxdec_src_query_handler (GstPad * pad, GstObject * parent,
GstQuery * query);
-static void flx_decode_color (GstFlxDec *, guchar *, guchar *, gint);
-static void flx_decode_brun (GstFlxDec *, guchar *, guchar *);
-static void flx_decode_delta_fli (GstFlxDec *, guchar *, guchar *);
-static void flx_decode_delta_flc (GstFlxDec *, guchar *, guchar *);
+static gboolean flx_decode_color (GstFlxDec * flxdec, GstByteReader * reader,
+ GstByteWriter * writer, gint scale);
+static gboolean flx_decode_brun (GstFlxDec * flxdec,
+ GstByteReader * reader, GstByteWriter * writer);
+static gboolean flx_decode_delta_fli (GstFlxDec * flxdec,
+ GstByteReader * reader, GstByteWriter * writer);
+static gboolean flx_decode_delta_flc (GstFlxDec * flxdec,
+ GstByteReader * reader, GstByteWriter * writer);
#define rndalign(off) ((off) + ((off) & 1))
@@ -203,99 +209,124 @@
return ret;
}
-static void
-flx_decode_chunks (GstFlxDec * flxdec, gulong count, guchar * data,
- guchar * dest)
+static gboolean
+flx_decode_chunks (GstFlxDec * flxdec, gulong n_chunks, GstByteReader * reader,
+ GstByteWriter * writer)
{
- FlxFrameChunk *hdr;
+ gboolean ret = TRUE;
- g_return_if_fail (data != NULL);
+ while (n_chunks--) {
+ GstByteReader chunk;
+ guint32 size;
+ guint16 type;
- while (count--) {
- hdr = (FlxFrameChunk *) data;
- FLX_FRAME_CHUNK_FIX_ENDIANNESS (hdr);
- data += FlxFrameChunkSize;
+ if (!gst_byte_reader_get_uint32_le (reader, &size))
+ goto parse_error;
+ if (!gst_byte_reader_get_uint16_le (reader, &type))
+ goto parse_error;
+ GST_LOG_OBJECT (flxdec, "chunk has type 0x%02x size %d", type, size);
- switch (hdr->id) {
+ if (!gst_byte_reader_get_sub_reader (reader, &chunk,
+ size - FlxFrameChunkSize)) {
+ GST_ERROR_OBJECT (flxdec, "Incorrect size in the chunk header");
+ goto error;
+ }
+
+ switch (type) {
case FLX_COLOR64:
- flx_decode_color (flxdec, data, dest, 2);
- data += rndalign (hdr->size) - FlxFrameChunkSize;
+ ret = flx_decode_color (flxdec, &chunk, writer, 2);
break;
case FLX_COLOR256:
- flx_decode_color (flxdec, data, dest, 0);
- data += rndalign (hdr->size) - FlxFrameChunkSize;
+ ret = flx_decode_color (flxdec, &chunk, writer, 0);
break;
case FLX_BRUN:
- flx_decode_brun (flxdec, data, dest);
- data += rndalign (hdr->size) - FlxFrameChunkSize;
+ ret = flx_decode_brun (flxdec, &chunk, writer);
break;
case FLX_LC:
- flx_decode_delta_fli (flxdec, data, dest);
- data += rndalign (hdr->size) - FlxFrameChunkSize;
+ ret = flx_decode_delta_fli (flxdec, &chunk, writer);
break;
case FLX_SS2:
- flx_decode_delta_flc (flxdec, data, dest);
- data += rndalign (hdr->size) - FlxFrameChunkSize;
+ ret = flx_decode_delta_flc (flxdec, &chunk, writer);
break;
case FLX_BLACK:
- memset (dest, 0, flxdec->size);
+ ret = gst_byte_writer_fill (writer, 0, flxdec->size);
break;
case FLX_MINI:
- data += rndalign (hdr->size) - FlxFrameChunkSize;
break;
default:
- GST_WARNING ("Unimplented chunk type: 0x%02x size: %d - skipping",
- hdr->id, hdr->size);
- data += rndalign (hdr->size) - FlxFrameChunkSize;
+ GST_WARNING ("Unimplemented chunk type: 0x%02x size: %d - skipping",
+ type, size);
break;
}
+
+ if (!ret)
+ break;
}
+
+ return ret;
+
+parse_error:
+ GST_ERROR_OBJECT (flxdec, "Failed to decode chunk");
+error:
+ return FALSE;
}
-static void
-flx_decode_color (GstFlxDec * flxdec, guchar * data, guchar * dest, gint scale)
+static gboolean
+flx_decode_color (GstFlxDec * flxdec, GstByteReader * reader,
+ GstByteWriter * writer, gint scale)
{
- guint packs, count, indx;
+ guint8 count, indx;
+ guint16 packs;
- g_return_if_fail (flxdec != NULL);
-
- packs = (data[0] + (data[1] << 8));
-
- data += 2;
+ if (!gst_byte_reader_get_uint16_le (reader, &packs))
+ goto error;
indx = 0;
- GST_LOG ("GstFlxDec: cmap packs: %d", packs);
+ GST_LOG ("GstFlxDec: cmap packs: %d", (guint) packs);
while (packs--) {
+ const guint8 *data;
+ guint16 actual_count;
+
/* color map index + skip count */
- indx += *data++;
+ if (!gst_byte_reader_get_uint8 (reader, &indx))
+ goto error;
/* number of rgb triplets */
- count = *data++ & 0xff;
- if (count == 0)
- count = 256;
+ if (!gst_byte_reader_get_uint8 (reader, &count))
+ goto error;
- GST_LOG ("GstFlxDec: cmap count: %d (indx: %d)", count, indx);
- flx_set_palette_vector (flxdec->converter, indx, count, data, scale);
+ actual_count = count == 0 ? 256 : count;
- data += (count * 3);
+ if (!gst_byte_reader_get_data (reader, count * 3, &data))
+ goto error;
+
+ GST_LOG_OBJECT (flxdec, "cmap count: %d (indx: %d)", actual_count, indx);
+ flx_set_palette_vector (flxdec->converter, indx, actual_count,
+ (guchar *) data, scale);
}
+
+ return TRUE;
+
+error:
+ GST_ERROR_OBJECT (flxdec, "Error decoding color palette");
+ return FALSE;
}
-static void
-flx_decode_brun (GstFlxDec * flxdec, guchar * data, guchar * dest)
+static gboolean
+flx_decode_brun (GstFlxDec * flxdec, GstByteReader * reader,
+ GstByteWriter * writer)
{
- gulong count, lines, row;
- guchar x;
+ gulong lines, row;
- g_return_if_fail (flxdec != NULL);
+ g_return_val_if_fail (flxdec != NULL, FALSE);
lines = flxdec->hdr.height;
while (lines--) {
@@ -304,151 +335,374 @@
* contain more then 255 RLE packets. we use the frame
* width instead.
*/
- data++;
+ if (!gst_byte_reader_skip (reader, 1))
+ goto error;
row = flxdec->hdr.width;
while (row) {
- count = *data++;
+ gint8 count;
- if (count > 0x7f) {
+ if (!gst_byte_reader_get_int8 (reader, &count))
+ goto error;
+
+ if (count <= 0) {
+ const guint8 *data;
+
/* literal run */
- count = 0x100 - count;
+ count = ABS (count);
+
+ GST_LOG_OBJECT (flxdec, "have literal run of size %d", count);
+
+ if (count > row) {
+ GST_ERROR_OBJECT (flxdec, "Invalid BRUN line detected. "
+ "bytes to write exceeds the end of the row");
+ return FALSE;
+ }
row -= count;
- while (count--)
- *dest++ = *data++;
-
+ if (!gst_byte_reader_get_data (reader, count, &data))
+ goto error;
+ if (!gst_byte_writer_put_data (writer, data, count))
+ goto error;
} else {
+ guint8 x;
+
+ GST_LOG_OBJECT (flxdec, "have replicate run of size %d", count);
+
+ if (count > row) {
+ GST_ERROR_OBJECT (flxdec, "Invalid BRUN packet detected."
+ "bytes to write exceeds the end of the row");
+ return FALSE;
+ }
+
/* replicate run */
row -= count;
- x = *data++;
- while (count--)
- *dest++ = x;
+ if (!gst_byte_reader_get_uint8 (reader, &x))
+ goto error;
+ if (!gst_byte_writer_fill (writer, x, count))
+ goto error;
}
}
}
+
+ return TRUE;
+
+error:
+ GST_ERROR_OBJECT (flxdec, "Failed to decode BRUN packet");
+ return FALSE;
}
-static void
-flx_decode_delta_fli (GstFlxDec * flxdec, guchar * data, guchar * dest)
+static gboolean
+flx_decode_delta_fli (GstFlxDec * flxdec, GstByteReader * reader,
+ GstByteWriter * writer)
{
- gulong count, packets, lines, start_line;
- guchar *start_p, x;
+ guint16 start_line, lines;
+ guint line_start_i;
- g_return_if_fail (flxdec != NULL);
- g_return_if_fail (flxdec->delta_data != NULL);
+ g_return_val_if_fail (flxdec != NULL, FALSE);
+ g_return_val_if_fail (flxdec->delta_data != NULL, FALSE);
/* use last frame for delta */
- memcpy (dest, flxdec->delta_data, flxdec->size);
+ if (!gst_byte_writer_put_data (writer, flxdec->delta_data, flxdec->size))
+ goto error;
- start_line = (data[0] + (data[1] << 8));
- lines = (data[2] + (data[3] << 8));
- data += 4;
+ if (!gst_byte_reader_get_uint16_le (reader, &start_line))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &lines))
+ goto error;
+ GST_LOG_OBJECT (flxdec, "height %d start line %d line count %d",
+ flxdec->hdr.height, start_line, lines);
- /* start position of delta */
- dest += (flxdec->hdr.width * start_line);
- start_p = dest;
+ if (start_line + lines > flxdec->hdr.height) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLI packet detected. too many lines.");
+ return FALSE;
+ }
+
+ line_start_i = flxdec->hdr.width * start_line;
+ if (!gst_byte_writer_set_pos (writer, line_start_i))
+ goto error;
while (lines--) {
+ guint8 packets;
+
/* packet count */
- packets = *data++;
+ if (!gst_byte_reader_get_uint8 (reader, &packets))
+ goto error;
+ GST_LOG_OBJECT (flxdec, "have %d packets", packets);
while (packets--) {
/* skip count */
- dest += *data++;
+ guint8 skip;
+ gint8 count;
+ if (!gst_byte_reader_get_uint8 (reader, &skip))
+ goto error;
+
+ /* skip bytes */
+ if (!gst_byte_writer_set_pos (writer,
+ gst_byte_writer_get_pos (writer) + skip))
+ goto error;
/* RLE count */
- count = *data++;
+ if (!gst_byte_reader_get_int8 (reader, &count))
+ goto error;
- if (count > 0x7f) {
+ if (count < 0) {
+ guint8 x;
+
/* literal run */
- count = 0x100 - count;
- x = *data++;
+ count = ABS (count);
+ GST_LOG_OBJECT (flxdec, "have literal run of size %d at offset %d",
+ count, skip);
- while (count--)
- *dest++ = x;
+ if (skip + count > flxdec->hdr.width) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLI packet detected. "
+ "line too long.");
+ return FALSE;
+ }
+ if (!gst_byte_reader_get_uint8 (reader, &x))
+ goto error;
+ if (!gst_byte_writer_fill (writer, x, count))
+ goto error;
} else {
+ const guint8 *data;
+
+ GST_LOG_OBJECT (flxdec, "have replicate run of size %d at offset %d",
+ count, skip);
+
+ if (skip + count > flxdec->hdr.width) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLI packet detected. "
+ "line too long.");
+ return FALSE;
+ }
+
/* replicate run */
- while (count--)
- *dest++ = *data++;
+ if (!gst_byte_reader_get_data (reader, count, &data))
+ goto error;
+ if (!gst_byte_writer_put_data (writer, data, count))
+ goto error;
}
}
- start_p += flxdec->hdr.width;
- dest = start_p;
+ line_start_i += flxdec->hdr.width;
+ if (!gst_byte_writer_set_pos (writer, line_start_i))
+ goto error;
}
+
+ return TRUE;
+
+error:
+ GST_ERROR_OBJECT (flxdec, "Failed to decode FLI packet");
+ return FALSE;
}
-static void
-flx_decode_delta_flc (GstFlxDec * flxdec, guchar * data, guchar * dest)
+static gboolean
+flx_decode_delta_flc (GstFlxDec * flxdec, GstByteReader * reader,
+ GstByteWriter * writer)
{
- gulong count, lines, start_l, opcode;
- guchar *start_p;
+ guint16 lines, start_l;
- g_return_if_fail (flxdec != NULL);
- g_return_if_fail (flxdec->delta_data != NULL);
+ g_return_val_if_fail (flxdec != NULL, FALSE);
+ g_return_val_if_fail (flxdec->delta_data != NULL, FALSE);
/* use last frame for delta */
- memcpy (dest, flxdec->delta_data, flxdec->size);
+ if (!gst_byte_writer_put_data (writer, flxdec->delta_data, flxdec->size))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &lines))
+ goto error;
- lines = (data[0] + (data[1] << 8));
- data += 2;
+ if (lines > flxdec->hdr.height) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLC packet detected. too many lines.");
+ return FALSE;
+ }
- start_p = dest;
start_l = lines;
while (lines) {
- dest = start_p + (flxdec->hdr.width * (start_l - lines));
+ guint16 opcode;
+
+ if (!gst_byte_writer_set_pos (writer,
+ flxdec->hdr.width * (start_l - lines)))
+ goto error;
/* process opcode(s) */
- while ((opcode = (data[0] + (data[1] << 8))) & 0xc000) {
- data += 2;
+ while (TRUE) {
+ if (!gst_byte_reader_get_uint16_le (reader, &opcode))
+ goto error;
+ if ((opcode & 0xc000) == 0)
+ break;
+
if ((opcode & 0xc000) == 0xc000) {
- /* skip count */
- start_l += (0x10000 - opcode);
- dest += flxdec->hdr.width * (0x10000 - opcode);
+ /* line skip count */
+ gulong skip = (0x10000 - opcode);
+ if (skip > flxdec->hdr.height) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLC packet detected. "
+ "skip line count too big.");
+ return FALSE;
+ }
+ start_l += skip;
+ if (!gst_byte_writer_set_pos (writer,
+ gst_byte_writer_get_pos (writer) + flxdec->hdr.width * skip))
+ goto error;
} else {
/* last pixel */
- dest += flxdec->hdr.width;
- *dest++ = (opcode & 0xff);
+ if (!gst_byte_writer_set_pos (writer,
+ gst_byte_writer_get_pos (writer) + flxdec->hdr.width))
+ goto error;
+ if (!gst_byte_writer_put_uint8 (writer, opcode & 0xff))
+ goto error;
}
}
- data += 2;
/* last opcode is the packet count */
+ GST_LOG_OBJECT (flxdec, "have %d packets", opcode);
while (opcode--) {
/* skip count */
- dest += *data++;
+ guint8 skip;
+ gint8 count;
+
+ if (!gst_byte_reader_get_uint8 (reader, &skip))
+ goto error;
+ if (!gst_byte_writer_set_pos (writer,
+ gst_byte_writer_get_pos (writer) + skip))
+ goto error;
/* RLE count */
- count = *data++;
+ if (!gst_byte_reader_get_int8 (reader, &count))
+ goto error;
- if (count > 0x7f) {
+ if (count < 0) {
+ guint16 x;
+
/* replicate word run */
- count = 0x100 - count;
- while (count--) {
- *dest++ = data[0];
- *dest++ = data[1];
+ count = ABS (count);
+
+ GST_LOG_OBJECT (flxdec, "have replicate run of size %d at offset %d",
+ count, skip);
+
+ if (skip + count > flxdec->hdr.width) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLC packet detected. "
+ "line too long.");
+ return FALSE;
}
- data += 2;
- } else {
- /* literal word run */
+
+ if (!gst_byte_reader_get_uint16_le (reader, &x))
+ goto error;
+
while (count--) {
- *dest++ = *data++;
- *dest++ = *data++;
+ if (!gst_byte_writer_put_uint16_le (writer, x)) {
+ goto error;
+ }
+ }
+ } else {
+ GST_LOG_OBJECT (flxdec, "have literal run of size %d at offset %d",
+ count, skip);
+
+ if (skip + count > flxdec->hdr.width) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLC packet detected. "
+ "line too long.");
+ return FALSE;
+ }
+
+ while (count--) {
+ guint16 x;
+
+ if (!gst_byte_reader_get_uint16_le (reader, &x))
+ goto error;
+ if (!gst_byte_writer_put_uint16_le (writer, x))
+ goto error;
}
}
}
lines--;
}
+
+ return TRUE;
+
+error:
+ GST_ERROR_OBJECT (flxdec, "Failed to decode FLI packet");
+ return FALSE;
+}
+
+static gboolean
+_read_flx_header (GstFlxDec * flxdec, GstByteReader * reader, FlxHeader * flxh)
+{
+ memset (flxh, 0, sizeof (*flxh));
+
+ if (!gst_byte_reader_get_uint32_le (reader, &flxh->size))
+ goto error;
+ if (flxh->size < FlxHeaderSize) {
+ GST_ERROR_OBJECT (flxdec, "Invalid file size in the header");
+ return FALSE;
+ }
+
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->type))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->frames))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->width))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->height))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->depth))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->flags))
+ goto error;
+ if (!gst_byte_reader_get_uint32_le (reader, &flxh->speed))
+ goto error;
+ if (!gst_byte_reader_skip (reader, 2)) /* reserved */
+ goto error;
+ /* FLC */
+ if (!gst_byte_reader_get_uint32_le (reader, &flxh->created))
+ goto error;
+ if (!gst_byte_reader_get_uint32_le (reader, &flxh->creator))
+ goto error;
+ if (!gst_byte_reader_get_uint32_le (reader, &flxh->updated))
+ goto error;
+ if (!gst_byte_reader_get_uint32_le (reader, &flxh->updater))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->aspect_dx))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->aspect_dy))
+ goto error;
+ /* EGI */
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->ext_flags))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->keyframes))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->totalframes))
+ goto error;
+ if (!gst_byte_reader_get_uint32_le (reader, &flxh->req_memory))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->max_regions))
+ goto error;
+ if (!gst_byte_reader_get_uint16_le (reader, &flxh->transp_num))
+ goto error;
+ if (!gst_byte_reader_skip (reader, 24)) /* reserved */
+ goto error;
+ /* FLC */
+ if (!gst_byte_reader_get_uint32_le (reader, &flxh->oframe1))
+ goto error;
+ if (!gst_byte_reader_get_uint32_le (reader, &flxh->oframe2))
+ goto error;
+ if (!gst_byte_reader_skip (reader, 40)) /* reserved */
+ goto error;
+
+ return TRUE;
+
+error:
+ GST_ERROR_OBJECT (flxdec, "Error reading file header");
+ return FALSE;
}
static GstFlowReturn
gst_flxdec_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
{
+ GstByteReader reader;
+ GstBuffer *input;
+ GstMapInfo map_info;
GstCaps *caps;
- guint avail;
+ guint available;
GstFlowReturn res = GST_FLOW_OK;
GstFlxDec *flxdec;
@@ -459,31 +713,50 @@
g_return_val_if_fail (flxdec != NULL, GST_FLOW_ERROR);
gst_adapter_push (flxdec->adapter, buf);
- avail = gst_adapter_available (flxdec->adapter);
+ available = gst_adapter_available (flxdec->adapter);
+ input = gst_adapter_get_buffer (flxdec->adapter, available);
+ if (!gst_buffer_map (input, &map_info, GST_MAP_READ)) {
+ GST_ELEMENT_ERROR (flxdec, STREAM, DECODE,
+ ("%s", "Failed to map buffer"), (NULL));
+ goto error;
+ }
+ gst_byte_reader_init (&reader, map_info.data, map_info.size);
if (flxdec->state == GST_FLXDEC_READ_HEADER) {
- if (avail >= FlxHeaderSize) {
- const guint8 *data = gst_adapter_map (flxdec->adapter, FlxHeaderSize);
+ if (available >= FlxHeaderSize) {
+ GstByteReader header;
GstCaps *templ;
- memcpy ((gchar *) & flxdec->hdr, data, FlxHeaderSize);
- FLX_HDR_FIX_ENDIANNESS (&(flxdec->hdr));
- gst_adapter_unmap (flxdec->adapter);
+ if (!gst_byte_reader_get_sub_reader (&reader, &header, FlxHeaderSize)) {
+ GST_ELEMENT_ERROR (flxdec, STREAM, DECODE,
+ ("%s", "Could not read header"), (NULL));
+ goto unmap_input_error;
+ }
gst_adapter_flush (flxdec->adapter, FlxHeaderSize);
+ available -= FlxHeaderSize;
+
+ if (!_read_flx_header (flxdec, &header, &flxdec->hdr)) {
+ GST_ELEMENT_ERROR (flxdec, STREAM, DECODE,
+ ("%s", "Failed to parse header"), (NULL));
+ goto unmap_input_error;
+ }
flxh = &flxdec->hdr;
/* check header */
if (flxh->type != FLX_MAGICHDR_FLI &&
- flxh->type != FLX_MAGICHDR_FLC && flxh->type != FLX_MAGICHDR_FLX)
- goto wrong_type;
+ flxh->type != FLX_MAGICHDR_FLC && flxh->type != FLX_MAGICHDR_FLX) {
+ GST_ELEMENT_ERROR (flxdec, STREAM, WRONG_TYPE, (NULL),
+ ("not a flx file (type %x)", flxh->type));
+ goto unmap_input_error;
+ }
- GST_LOG ("size : %d", flxh->size);
- GST_LOG ("frames : %d", flxh->frames);
- GST_LOG ("width : %d", flxh->width);
- GST_LOG ("height : %d", flxh->height);
- GST_LOG ("depth : %d", flxh->depth);
- GST_LOG ("speed : %d", flxh->speed);
+ GST_INFO_OBJECT (flxdec, "size : %d", flxh->size);
+ GST_INFO_OBJECT (flxdec, "frames : %d", flxh->frames);
+ GST_INFO_OBJECT (flxdec, "width : %d", flxh->width);
+ GST_INFO_OBJECT (flxdec, "height : %d", flxh->height);
+ GST_INFO_OBJECT (flxdec, "depth : %d", flxh->depth);
+ GST_INFO_OBJECT (flxdec, "speed : %d", flxh->speed);
flxdec->next_time = 0;
@@ -511,18 +784,32 @@
gst_pad_set_caps (flxdec->srcpad, caps);
gst_caps_unref (caps);
- if (flxh->depth <= 8)
- flxdec->converter =
- flx_colorspace_converter_new (flxh->width, flxh->height);
+ /* zero means 8 */
+ if (flxh->depth == 0)
+ flxh->depth = 8;
+
+ if (flxh->depth != 8) {
+ GST_ELEMENT_ERROR (flxdec, STREAM, WRONG_TYPE,
+ ("%s", "Don't know how to decode non 8 bit depth streams"), (NULL));
+ goto unmap_input_error;
+ }
+
+ flxdec->converter =
+ flx_colorspace_converter_new (flxh->width, flxh->height);
if (flxh->type == FLX_MAGICHDR_FLC || flxh->type == FLX_MAGICHDR_FLX) {
- GST_LOG ("(FLC) aspect_dx : %d", flxh->aspect_dx);
- GST_LOG ("(FLC) aspect_dy : %d", flxh->aspect_dy);
- GST_LOG ("(FLC) oframe1 : 0x%08x", flxh->oframe1);
- GST_LOG ("(FLC) oframe2 : 0x%08x", flxh->oframe2);
+ GST_INFO_OBJECT (flxdec, "(FLC) aspect_dx : %d", flxh->aspect_dx);
+ GST_INFO_OBJECT (flxdec, "(FLC) aspect_dy : %d", flxh->aspect_dy);
+ GST_INFO_OBJECT (flxdec, "(FLC) oframe1 : 0x%08x", flxh->oframe1);
+ GST_INFO_OBJECT (flxdec, "(FLC) oframe2 : 0x%08x", flxh->oframe2);
}
flxdec->size = ((guint) flxh->width * (guint) flxh->height);
+ if (flxdec->size >= G_MAXSIZE / 4) {
+ GST_ELEMENT_ERROR (flxdec, STREAM, DECODE,
+ ("%s", "Cannot allocate required memory"), (NULL));
+ goto unmap_input_error;
+ }
/* create delta and output frame */
flxdec->frame_data = g_malloc (flxdec->size);
@@ -534,51 +821,66 @@
GstBuffer *out;
/* while we have enough data in the adapter */
- while (avail >= FlxFrameChunkSize && res == GST_FLOW_OK) {
- FlxFrameChunk flxfh;
- guchar *chunk;
- const guint8 *data;
- GstMapInfo map;
+ while (available >= FlxFrameChunkSize && res == GST_FLOW_OK) {
+ guint32 size;
+ guint16 type;
- chunk = NULL;
- data = gst_adapter_map (flxdec->adapter, FlxFrameChunkSize);
- memcpy (&flxfh, data, FlxFrameChunkSize);
- FLX_FRAME_CHUNK_FIX_ENDIANNESS (&flxfh);
- gst_adapter_unmap (flxdec->adapter);
+ if (!gst_byte_reader_get_uint32_le (&reader, &size))
+ goto parse_error;
+ if (available < size)
+ goto need_more_data;
- switch (flxfh.id) {
- case FLX_FRAME_TYPE:
- /* check if we have the complete frame */
- if (avail < flxfh.size)
- goto need_more_data;
+ available -= size;
+ gst_adapter_flush (flxdec->adapter, size);
- /* flush header */
- gst_adapter_flush (flxdec->adapter, FlxFrameChunkSize);
+ if (!gst_byte_reader_get_uint16_le (&reader, &type))
+ goto parse_error;
- chunk = gst_adapter_take (flxdec->adapter,
- flxfh.size - FlxFrameChunkSize);
- FLX_FRAME_TYPE_FIX_ENDIANNESS ((FlxFrameType *) chunk);
- if (((FlxFrameType *) chunk)->chunks == 0)
+ switch (type) {
+ case FLX_FRAME_TYPE:{
+ GstByteReader chunks;
+ GstByteWriter writer;
+ guint16 n_chunks;
+ GstMapInfo map;
+
+ GST_LOG_OBJECT (flxdec, "Have frame type 0x%02x of size %d", type,
+ size);
+
+ if (!gst_byte_reader_get_sub_reader (&reader, &chunks,
+ size - FlxFrameChunkSize))
+ goto parse_error;
+
+ if (!gst_byte_reader_get_uint16_le (&chunks, &n_chunks))
+ goto parse_error;
+ GST_LOG_OBJECT (flxdec, "Have %d chunks", n_chunks);
+
+ if (n_chunks == 0)
break;
+ if (!gst_byte_reader_skip (&chunks, 8)) /* reserved */
+ goto parse_error;
- /* create 32 bits output frame */
-// res = gst_pad_alloc_buffer_and_set_caps (flxdec->srcpad,
-// GST_BUFFER_OFFSET_NONE,
-// flxdec->size * 4, GST_PAD_CAPS (flxdec->srcpad), &out);
-// if (res != GST_FLOW_OK)
-// break;
-
- out = gst_buffer_new_and_alloc (flxdec->size * 4);
+ gst_byte_writer_init_with_data (&writer, flxdec->frame_data,
+ flxdec->size, TRUE);
/* decode chunks */
- flx_decode_chunks (flxdec,
- ((FlxFrameType *) chunk)->chunks,
- chunk + FlxFrameTypeSize, flxdec->frame_data);
+ if (!flx_decode_chunks (flxdec, n_chunks, &chunks, &writer)) {
+ GST_ELEMENT_ERROR (flxdec, STREAM, DECODE,
+ ("%s", "Could not decode chunk"), NULL);
+ goto unmap_input_error;
+ }
+ gst_byte_writer_reset (&writer);
/* save copy of the current frame for possible delta. */
memcpy (flxdec->delta_data, flxdec->frame_data, flxdec->size);
- gst_buffer_map (out, &map, GST_MAP_WRITE);
+ out = gst_buffer_new_and_alloc (flxdec->size * 4);
+ if (!gst_buffer_map (out, &map, GST_MAP_WRITE)) {
+ GST_ELEMENT_ERROR (flxdec, STREAM, DECODE,
+ ("%s", "Could not map output buffer"), NULL);
+ gst_buffer_unref (out);
+ goto unmap_input_error;
+ }
+
/* convert current frame. */
flx_colorspace_convert (flxdec->converter, flxdec->frame_data,
map.data);
@@ -589,31 +891,32 @@
res = gst_pad_push (flxdec->srcpad, out);
break;
+ }
default:
- /* check if we have the complete frame */
- if (avail < flxfh.size)
- goto need_more_data;
-
- gst_adapter_flush (flxdec->adapter, flxfh.size);
+ GST_DEBUG_OBJECT (flxdec, "Unknown frame type 0x%02x, skipping %d",
+ type, size);
+ if (!gst_byte_reader_skip (&reader, size - FlxFrameChunkSize))
+ goto parse_error;
break;
}
-
- g_free (chunk);
-
- avail = gst_adapter_available (flxdec->adapter);
}
}
+
+ gst_buffer_unmap (input, &map_info);
+ gst_buffer_unref (input);
+
need_more_data:
return res;
/* ERRORS */
-wrong_type:
- {
- GST_ELEMENT_ERROR (flxdec, STREAM, WRONG_TYPE, (NULL),
- ("not a flx file (type %x)", flxh->type));
- gst_object_unref (flxdec);
- return GST_FLOW_ERROR;
- }
+parse_error:
+ GST_ELEMENT_ERROR (flxdec, STREAM, DECODE,
+ ("%s", "Failed to parse stream"), (NULL));
+unmap_input_error:
+ gst_buffer_unmap (input, &map_info);
+ gst_buffer_unref (input);
+error:
+ return GST_FLOW_ERROR;
}
static GstStateChangeReturn
diff --git a/gst/flx/gstflxdec.h b/gst/flx/gstflxdec.h
index 3f9a0aa..4fd8dfd 100644
--- a/gst/flx/gstflxdec.h
+++ b/gst/flx/gstflxdec.h
@@ -23,6 +23,8 @@
#include <gst/gst.h>
#include <gst/base/gstadapter.h>
+#include <gst/base/gstbytereader.h>
+#include <gst/base/gstbytewriter.h>
#include "flx_color.h"
G_BEGIN_DECLS
@@ -45,7 +47,7 @@
guint8 *delta_data, *frame_data;
GstAdapter *adapter;
- gulong size;
+ gsize size;
GstFlxDecState state;
gint64 frame_time;
gint64 next_time;
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c
index 2bcb4ba..13b3620 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -293,6 +293,8 @@
GstAllocator *allocator;
GstAllocationParams params;
+ gsize alignment;
+
/* when a discontinuity is pending */
gboolean discont;
@@ -1842,6 +1844,7 @@
stream->protection_scheme_info = NULL;
stream->n_samples_moof = 0;
stream->duration_moof = 0;
+ stream->alignment = 1;
g_queue_init (&stream->protection_scheme_event_queue);
return stream;
}
@@ -5097,6 +5100,44 @@
}
}
+static GstBuffer *
+gst_qtdemux_align_buffer (GstQTDemux * demux,
+ GstBuffer * buffer, gsize alignment)
+{
+ GstMapInfo map;
+
+ gst_buffer_map (buffer, &map, GST_MAP_READ);
+
+ if (map.size < sizeof (guintptr)) {
+ gst_buffer_unmap (buffer, &map);
+ return buffer;
+ }
+
+ if (((guintptr) map.data) & (alignment - 1)) {
+ GstBuffer *new_buffer;
+ GstAllocationParams params = { 0, alignment - 1, 0, 0, };
+
+ new_buffer = gst_buffer_new_allocate (NULL,
+ gst_buffer_get_size (buffer), ¶ms);
+
+ /* Copy data "by hand", so ensure alignment is kept: */
+ gst_buffer_fill (new_buffer, 0, map.data, map.size);
+
+ gst_buffer_copy_into (new_buffer, buffer, GST_BUFFER_COPY_METADATA, 0, -1);
+ GST_DEBUG_OBJECT (demux,
+ "We want output aligned on %" G_GSIZE_FORMAT ", reallocated",
+ alignment);
+
+ gst_buffer_unmap (buffer, &map);
+ gst_buffer_unref (buffer);
+
+ return new_buffer;
+ }
+
+ gst_buffer_unmap (buffer, &map);
+ return buffer;
+}
+
/* the input buffer metadata must be writable,
* but time/duration etc not yet set and need not be preserved */
static GstBuffer *
@@ -5218,6 +5259,8 @@
GST_BUFFER_FLAG_UNSET (buf, GST_BUFFER_FLAG_DISCONT);
}
+ if (stream->alignment > 1)
+ buffer = gst_qtdemux_align_buffer (qtdemux, buffer, stream->alignment);
gst_pad_push (stream->pad, buffer);
stream->buffers = g_slist_delete_link (stream->buffers, stream->buffers);
@@ -5321,6 +5364,9 @@
}
}
+ if (stream->alignment > 1)
+ buf = gst_qtdemux_align_buffer (qtdemux, buf, stream->alignment);
+
ret = gst_pad_push (stream->pad, buf);
if (GST_CLOCK_TIME_IS_VALID (pts) && GST_CLOCK_TIME_IS_VALID (duration)) {
@@ -12864,6 +12910,7 @@
caps = gst_caps_new_empty_simple ("video/x-raw");
gst_caps_set_simple (caps, "format", G_TYPE_STRING, "RGB8P", NULL);
_codec ("Windows Raw RGB");
+ stream->alignment = 32;
break;
case FOURCC_raw_:
{
@@ -13221,11 +13268,24 @@
/* enable clipping for raw video streams */
stream->need_clip = TRUE;
+ stream->alignment = 32;
}
return caps;
}
+static guint
+round_up_pow2 (guint n)
+{
+ n = n - 1;
+ n = n | (n >> 1);
+ n = n | (n >> 2);
+ n = n | (n >> 4);
+ n = n | (n >> 8);
+ n = n | (n >> 16);
+ return n + 1;
+}
+
static GstCaps *
qtdemux_audio_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
guint32 fourcc, const guint8 * data, int len, gchar ** codec_name)
@@ -13268,6 +13328,8 @@
caps = gst_caps_new_simple ("audio/x-raw",
"format", G_TYPE_STRING, gst_audio_format_to_string (format),
"layout", G_TYPE_STRING, "interleaved", NULL);
+ stream->alignment = GST_ROUND_UP_8 (depth);
+ stream->alignment = round_up_pow2 (stream->alignment);
break;
}
case GST_MAKE_FOURCC ('f', 'l', '6', '4'):
@@ -13275,12 +13337,14 @@
caps = gst_caps_new_simple ("audio/x-raw",
"format", G_TYPE_STRING, "F64BE",
"layout", G_TYPE_STRING, "interleaved", NULL);
+ stream->alignment = 8;
break;
case GST_MAKE_FOURCC ('f', 'l', '3', '2'):
_codec ("Raw 32-bit floating-point audio");
caps = gst_caps_new_simple ("audio/x-raw",
"format", G_TYPE_STRING, "F32BE",
"layout", G_TYPE_STRING, "interleaved", NULL);
+ stream->alignment = 4;
break;
case FOURCC_in24:
_codec ("Raw 24-bit PCM audio");
@@ -13289,12 +13353,14 @@
caps = gst_caps_new_simple ("audio/x-raw",
"format", G_TYPE_STRING, "S24BE",
"layout", G_TYPE_STRING, "interleaved", NULL);
+ stream->alignment = 4;
break;
case GST_MAKE_FOURCC ('i', 'n', '3', '2'):
_codec ("Raw 32-bit PCM audio");
caps = gst_caps_new_simple ("audio/x-raw",
"format", G_TYPE_STRING, "S32BE",
"layout", G_TYPE_STRING, "interleaved", NULL);
+ stream->alignment = 4;
break;
case FOURCC_ulaw:
_codec ("Mu-law audio");
@@ -13469,6 +13535,8 @@
"format", G_TYPE_STRING, gst_audio_format_to_string (format),
"layout", G_TYPE_STRING, (flags & FLAG_IS_NON_INTERLEAVED) ?
"non-interleaved" : "interleaved", NULL);
+ stream->alignment = GST_ROUND_UP_8 (depth);
+ stream->alignment = round_up_pow2 (stream->alignment);
} else {
if (width == 0)
width = 32;
@@ -13487,6 +13555,7 @@
"format", G_TYPE_STRING, gst_audio_format_to_string (format),
"layout", G_TYPE_STRING, (flags & FLAG_IS_NON_INTERLEAVED) ?
"non-interleaved" : "interleaved", NULL);
+ stream->alignment = width / 8;
}
break;
}
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
index bceda52..e419a70 100644
--- a/gst/matroska/matroska-demux.c
+++ b/gst/matroska/matroska-demux.c
@@ -1765,13 +1765,22 @@
demux->common.offset += length + needed;
ret = gst_matroska_read_common_peek_id_length_pull (&demux->common,
GST_ELEMENT_CAST (demux), &id, &length, &needed);
- if (ret != GST_FLOW_OK)
+ if (ret != GST_FLOW_OK) {
+ /* we skipped one byte in the reader above, need to accomodate for
+ * that when resuming skipping from the reader instead of reading a
+ * new chunk */
+ newpos += 1;
goto resume;
+ }
GST_DEBUG_OBJECT (demux, "next element is %scluster",
id == GST_MATROSKA_ID_CLUSTER ? "" : "not ");
if (id == GST_MATROSKA_ID_CLUSTER)
break;
- /* not ok, resume */
+ /* not ok, resume
+ * we skipped one byte in the reader above, need to accomodate for
+ * that when resuming skipping from the reader instead of reading a
+ * new chunk */
+ newpos += 1;
goto resume;
} else {
/* partial cluster id may have been in tail of buffer */
diff --git a/gst/matroska/matroska-ids.c b/gst/matroska/matroska-ids.c
index 74b4147..1ef3e26 100644
--- a/gst/matroska/matroska-ids.c
+++ b/gst/matroska/matroska-ids.c
@@ -283,15 +283,18 @@
/* skip fLaC marker */
off = 4;
- /* FIXME: check size remaining */
- while (off < codec_data_size) {
+ while (off < codec_data_size - 3) {
len = GST_READ_UINT8 (pdata + off + 1) << 16;
len |= GST_READ_UINT8 (pdata + off + 2) << 8;
len |= GST_READ_UINT8 (pdata + off + 3);
GST_DEBUG ("header packet: len=%u bytes, flags=0x%02x", len, pdata[off]);
- /* FIXME: check size remaining */
+ if (off + len > codec_data_size) {
+ gst_buffer_list_unref (list);
+ return NULL;
+ }
+
hdr = gst_buffer_new_wrapped (g_memdup (pdata + off, len + 4), len + 4);
gst_buffer_list_add (list, hdr);
diff --git a/gst/multipart/multipartdemux.c b/gst/multipart/multipartdemux.c
index afbc42a..23e67c2 100644
--- a/gst/multipart/multipartdemux.c
+++ b/gst/multipart/multipartdemux.c
@@ -106,6 +106,8 @@
static GstFlowReturn gst_multipart_demux_chain (GstPad * pad,
GstObject * parent, GstBuffer * buf);
+static gboolean gst_multipart_demux_event (GstPad * pad,
+ GstObject * parent, GstEvent * event);
static GstStateChangeReturn gst_multipart_demux_change_state (GstElement *
element, GstStateChange transition);
@@ -179,6 +181,8 @@
gst_element_add_pad (GST_ELEMENT_CAST (multipart), multipart->sinkpad);
gst_pad_set_chain_function (multipart->sinkpad,
GST_DEBUG_FUNCPTR (gst_multipart_demux_chain));
+ gst_pad_set_event_function (multipart->sinkpad,
+ GST_DEBUG_FUNCPTR (gst_multipart_demux_event));
multipart->adapter = gst_adapter_new ();
multipart->boundary = DEFAULT_BOUNDARY;
@@ -571,6 +575,30 @@
return MULTIPART_NEED_MORE_DATA;
}
+static gboolean
+gst_multipart_demux_event (GstPad * pad, GstObject * parent, GstEvent * event)
+{
+ GstMultipartDemux *multipart;
+
+ multipart = GST_MULTIPART_DEMUX (parent);
+
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_EOS:
+ if (!multipart->srcpads) {
+ GST_ELEMENT_ERROR (multipart, STREAM, WRONG_TYPE,
+ ("This stream contains no valid streams."),
+ ("Got EOS before adding any pads"));
+ gst_event_unref (event);
+ return FALSE;
+ } else {
+ return gst_pad_event_default (pad, parent, event);
+ }
+ break;
+ default:
+ return gst_pad_event_default (pad, parent, event);
+ }
+}
+
static GstFlowReturn
gst_multipart_demux_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
{
diff --git a/gst/rtp/gstrtpvrawpay.c b/gst/rtp/gstrtpvrawpay.c
index 1936743..9368936 100644
--- a/gst/rtp/gstrtpvrawpay.c
+++ b/gst/rtp/gstrtpvrawpay.c
@@ -284,7 +284,10 @@
rtpvrawpay = GST_RTP_VRAW_PAY (payload);
- gst_video_frame_map (&frame, &rtpvrawpay->vinfo, buffer, GST_MAP_READ);
+ if (!gst_video_frame_map (&frame, &rtpvrawpay->vinfo, buffer, GST_MAP_READ)) {
+ gst_buffer_unref (buffer);
+ return GST_FLOW_ERROR;
+ }
GST_LOG_OBJECT (rtpvrawpay, "new frame of %" G_GSIZE_FORMAT " bytes",
gst_buffer_get_size (buffer));
diff --git a/po/af.gmo b/po/af.gmo
index 3ccd119..a7b835c 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index c07d181..4bf5e81 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins 0.7.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2004-03-18 14:16+0200\n"
"Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
@@ -34,6 +34,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr ""
diff --git a/po/az.gmo b/po/az.gmo
index b3eb98d..b406885 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 92596bb..53feac2 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-0.8.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2004-03-19 18:29+0200\n"
"Last-Translator: Metin Amiroff <metin@karegen.com>\n"
"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
@@ -35,6 +35,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr ""
diff --git a/po/bg.gmo b/po/bg.gmo
index 5a93649..3895686 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 03848cb..8de6f71 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-21 21:03+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
@@ -35,6 +35,9 @@
msgid "No URL set."
msgstr "Не е зададен адрес."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Сървърът не поддържа търсене."
diff --git a/po/ca.gmo b/po/ca.gmo
index 5206ff0..cf0827d 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 4952dfc..45b9874 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2012-01-01 14:19+0100\n"
"Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr "No s'ha indicat cap URL."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "El servidor no ademet les cerques."
diff --git a/po/cs.gmo b/po/cs.gmo
index 9525db8..675a7cc 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 02cdf91..a3e2fb7 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -10,7 +10,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good-1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-27 16:40+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -38,6 +38,9 @@
msgid "No URL set."
msgstr "Není nastavena žádná adresa URL."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Server nepodporuje přeskakování."
diff --git a/po/da.gmo b/po/da.gmo
index 01cddf6..d3bd71f 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 6ae29d1..775e570 100644
--- a/po/da.po
+++ b/po/da.po
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good-1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-03-27 23:54+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -37,6 +37,9 @@
msgid "No URL set."
msgstr "Ingen adresse angivet."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Server understøtter ikke søgning."
diff --git a/po/de.gmo b/po/de.gmo
index f2dcdff..d47ec68 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 28388fd..38f9139 100644
--- a/po/de.po
+++ b/po/de.po
@@ -14,7 +14,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-22 23:42+0100\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -42,6 +42,9 @@
msgid "No URL set."
msgstr "Keine Adresse festgelegt."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Suchlauf wird nicht vom Server unterstützt."
diff --git a/po/el.gmo b/po/el.gmo
index 3f87cb1..9e81419 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 5ee5b74..0697fe3 100644
--- a/po/el.po
+++ b/po/el.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2012-05-05 19:05+0100\n"
"Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -37,6 +37,9 @@
msgid "No URL set."
msgstr "Δεν ορίσθηκε URL."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Ο διακομιστής δεν υποστηρίζει αναζήτηση."
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 52f5590..ce188b3 100644
--- a/po/en_GB.gmo
+++ b/po/en_GB.gmo
Binary files differ
diff --git a/po/en_GB.po b/po/en_GB.po
index b5d3d12..667db3d 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins 0.8.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2004-04-26 10:41-0400\n"
"Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
"Language-Team: English (British) <en_gb@li.org>\n"
@@ -33,6 +33,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
#, fuzzy
msgid "Server does not support seeking."
msgstr "Your oss device could not be probed correctly"
diff --git a/po/eo.gmo b/po/eo.gmo
index 50f54d3..18e17e8 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 2c92140..e413a5c 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2011-06-04 21:48+0100\n"
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -34,6 +34,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr ""
diff --git a/po/es.gmo b/po/es.gmo
index f2d3179..6af26ec 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 6dae203..434f133 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.26.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2011-02-12 18:30+0100\n"
"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -35,6 +35,9 @@
msgid "No URL set."
msgstr "No existe un URL establecido."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "El servidor no soporta la búsqueda."
diff --git a/po/eu.gmo b/po/eu.gmo
index c5796a2..607e6ce 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index cd7ecde..b8920ae 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good-0.10.18.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2010-03-25 12:37+0100\n"
"Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr ""
diff --git a/po/fi.gmo b/po/fi.gmo
index 38092a0..358da35 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 0aa4bab..84e5291 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.25.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2010-11-17 23:03+0200\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -38,6 +38,9 @@
msgid "No URL set."
msgstr "Ei URL:ää asetettuna."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Pavelin ei tue kelausta."
diff --git a/po/fr.gmo b/po/fr.gmo
index f8e47da..5f55a27 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index fe05c18..433918e 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-20 16:27+0100\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr "Aucun URL défini."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Le serveur ne gère pas la recherche."
diff --git a/po/gl.gmo b/po/gl.gmo
index 013d99f..a1535f6 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index be61cfd..32f6f88 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2012-12-15 03:46+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr "No existe un URL estabelecido."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "O servidor non admite a busca."
diff --git a/po/gst-plugins-good-1.0.pot b/po/gst-plugins-good-1.0.pot
index 00c11d7..fc745eb 100644
--- a/po/gst-plugins-good-1.0.pot
+++ b/po/gst-plugins-good-1.0.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good 1.10.1\n"
+"Project-Id-Version: gst-plugins-good 1.10.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -41,28 +41,32 @@
msgid "No URL set."
msgstr ""
-#: ext/soup/gstsouphttpsrc.c:1211
+#: ext/soup/gstsouphttpsrc.c:1048
+msgid "Corrupted HTTP response."
+msgstr ""
+
+#: ext/soup/gstsouphttpsrc.c:1261
msgid "Server does not support seeking."
msgstr ""
-#: ext/soup/gstsouphttpsrc.c:1265
+#: ext/soup/gstsouphttpsrc.c:1315
msgid "Could not resolve server name."
msgstr ""
-#: ext/soup/gstsouphttpsrc.c:1271
+#: ext/soup/gstsouphttpsrc.c:1321
msgid "Could not establish connection to server."
msgstr ""
-#: ext/soup/gstsouphttpsrc.c:1276
+#: ext/soup/gstsouphttpsrc.c:1326
msgid "Secure connection setup failed."
msgstr ""
-#: ext/soup/gstsouphttpsrc.c:1284
+#: ext/soup/gstsouphttpsrc.c:1334
msgid ""
"A network error occurred, or the server closed the connection unexpectedly."
msgstr ""
-#: ext/soup/gstsouphttpsrc.c:1291
+#: ext/soup/gstsouphttpsrc.c:1341
msgid "Server sent bad data."
msgstr ""
@@ -70,39 +74,39 @@
msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr ""
-#: gst/isomp4/qtdemux.c:664 gst/isomp4/qtdemux.c:668
+#: gst/isomp4/qtdemux.c:666 gst/isomp4/qtdemux.c:670
msgid "This file contains no playable streams."
msgstr ""
-#: gst/isomp4/qtdemux.c:714 gst/isomp4/qtdemux.c:6165 gst/isomp4/qtdemux.c:6232
-#: gst/isomp4/qtdemux.c:6521
+#: gst/isomp4/qtdemux.c:716 gst/isomp4/qtdemux.c:6211 gst/isomp4/qtdemux.c:6278
+#: gst/isomp4/qtdemux.c:6567
msgid "This file is invalid and cannot be played."
msgstr ""
-#: gst/isomp4/qtdemux.c:2737
+#: gst/isomp4/qtdemux.c:2740
msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""
-#: gst/isomp4/qtdemux.c:3854 gst/isomp4/qtdemux.c:7254
-#: gst/isomp4/qtdemux.c:7261 gst/isomp4/qtdemux.c:8095
-#: gst/isomp4/qtdemux.c:8524 gst/isomp4/qtdemux.c:8531
-#: gst/isomp4/qtdemux.c:10896
+#: gst/isomp4/qtdemux.c:3857 gst/isomp4/qtdemux.c:7300
+#: gst/isomp4/qtdemux.c:7307 gst/isomp4/qtdemux.c:8141
+#: gst/isomp4/qtdemux.c:8570 gst/isomp4/qtdemux.c:8577
+#: gst/isomp4/qtdemux.c:10942
msgid "This file is corrupt and cannot be played."
msgstr ""
-#: gst/isomp4/qtdemux.c:4096
+#: gst/isomp4/qtdemux.c:4099
msgid "Invalid atom size."
msgstr ""
-#: gst/isomp4/qtdemux.c:4174
+#: gst/isomp4/qtdemux.c:4177
msgid "This file is incomplete and cannot be played."
msgstr ""
-#: gst/isomp4/qtdemux.c:9505
+#: gst/isomp4/qtdemux.c:9551
msgid "The video in this file might not play correctly."
msgstr ""
-#: gst/isomp4/qtdemux.c:10937
+#: gst/isomp4/qtdemux.c:10983
#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""
@@ -248,7 +252,7 @@
msgid "AUX 2 Out"
msgstr ""
-#: sys/v4l2/gstv4l2bufferpool.c:1673
+#: sys/v4l2/gstv4l2bufferpool.c:1678
#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index 1ecca7f..01d2ce7 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index f93a32c..a45fd35 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -5,19 +5,20 @@
# Božidar Putanec <bozidarp@yahoo.com>, 2016.
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good 1.7.2\n"
+"Project-Id-Version: gst-plugins-good-1.10.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
-"PO-Revision-Date: 2016-05-27 12:47-0700\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
+"PO-Revision-Date: 2016-11-19 10:22-0800\n"
"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
-"X-Generator: Lokalize 2.0\n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Poedit 1.8.7.1\n"
msgid "Jack server not found"
msgstr "‘Jack’ poslužitelj nije pronađen"
@@ -36,6 +37,9 @@
msgid "No URL set."
msgstr "URL adresa nije imenovana."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Poslužitelj ne podržava traženje."
diff --git a/po/hu.gmo b/po/hu.gmo
index 50ae229..86ae899 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 79edfdc..fe4e21b 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-03-14 18:35+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -39,6 +39,9 @@
msgid "No URL set."
msgstr "Nincs beállítva URL."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "A kiszolgáló nem támogatja a tekerést."
diff --git a/po/id.gmo b/po/id.gmo
index 0383a55..c74bd1e 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 4755688..033f7c2 100644
--- a/po/id.po
+++ b/po/id.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.10.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-11-10 22:06+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr "Tak ada URL yang ditentukan."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Server tidak mendukung pencarian."
diff --git a/po/it.gmo b/po/it.gmo
index e84294f..aa0ca2c 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 08bba6d..7bf414c 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.25.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2010-10-25 10:11+0200\n"
"Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -33,6 +33,9 @@
msgid "No URL set."
msgstr "Nessun URL impostato."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Il server non supporta il posizionamento."
diff --git a/po/ja.gmo b/po/ja.gmo
index bcd2cf4..175fb09 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 91622fe..e119169 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2012-12-22 20:13+0900\n"
"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr "URLが指定されていません。"
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "サーバーはシークをサポートしていません。"
diff --git a/po/lt.gmo b/po/lt.gmo
index 3eca5f5..3c88cc9 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 37d5976..9ba677d 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.23.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2010-07-16 19:34+0300\n"
"Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr ""
diff --git a/po/lv.gmo b/po/lv.gmo
index 5eb1f9b..318f339 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 769e93f..c6b32e4 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2014-04-20 16:38+0300\n"
"Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@ -38,6 +38,9 @@
msgid "No URL set."
msgstr "URL nav iestatīts."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Serveris neatbalsta meklēšanu."
diff --git a/po/mt.gmo b/po/mt.gmo
index e1ca723..18dfa5f 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index 6124be1..86d7a64 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good-0.10.10.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2008-10-26 19:09+0100\n"
"Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
"Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
@@ -33,6 +33,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
#, fuzzy
msgid "Server does not support seeking."
msgstr "Appart '%s' ma jagħmilx video capture"
diff --git a/po/nb.gmo b/po/nb.gmo
index 1e87281..a1009c6 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index c752f80..69be38d 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-08-05 23:47+0200\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
@@ -35,6 +35,9 @@
msgid "No URL set."
msgstr "Ingen URL satt."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Tjener støtter ikke søking."
diff --git a/po/nl.gmo b/po/nl.gmo
index e038c7e..6d79d2f 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index c2102e8..80cd6b7 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-20 16:40+0100\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -34,6 +34,9 @@
msgid "No URL set."
msgstr "Geen URL ingesteld."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Zoeken wordt door de server niet ondersteund."
diff --git a/po/or.gmo b/po/or.gmo
index ba9f8db..260991e 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 56e4acb..ac1b63b 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-0.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2004-09-27 13:32+0530\n"
"Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
"Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
@@ -35,6 +35,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
#, fuzzy
msgid "Server does not support seeking."
msgstr "\"%s\" ଯନ୍ତ୍ର ଗୋଟିଏ ଅନୁଲିପିକାର ନୁହେଁ."
diff --git a/po/pl.gmo b/po/pl.gmo
index a4a27ec..1eddbe7 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 10856cc..5032a8e 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-20 21:43+0100\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -32,6 +32,9 @@
msgid "No URL set."
msgstr "Nie ustawiono URL-a."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Serwer nie obsługuje przewijania."
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index b0314df..e71c839 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 8cc6b9d..8c15ec0 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -13,7 +13,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good-1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-05-06 17:49-0300\n"
"Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -41,6 +41,9 @@
msgid "No URL set."
msgstr "Nenhum URL definido."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Nâo há suporte a busca pelo servidor."
diff --git a/po/ro.gmo b/po/ro.gmo
index 7477a5c..3040b73 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index ec4dc49..95a1600 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.23.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2010-08-16 03:22+0300\n"
"Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -35,6 +35,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr ""
diff --git a/po/ru.gmo b/po/ru.gmo
index 5f05fb0..187e511 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 91483a8..560d6f1 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-21 09:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
@@ -38,6 +38,9 @@
msgid "No URL set."
msgstr "URL не задан."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Сервер не поддерживает поиск."
diff --git a/po/sk.gmo b/po/sk.gmo
index 8b0d0cf..2a3b801 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index aaef436..649aed1 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-05-20 12:31+0100\n"
"Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -34,6 +34,9 @@
msgid "No URL set."
msgstr "Nebolo nastavené URL."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Server nepodporuje zmenu pozície"
diff --git a/po/sl.gmo b/po/sl.gmo
index 46773ae..14dc8e1 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index aa301b0..5d2ef0d 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good-1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2014-04-09 22:52+0100\n"
"Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -38,6 +38,9 @@
msgid "No URL set."
msgstr "Ni nastavljenega naslova URL."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Strežnik ne podpira iskanja."
diff --git a/po/sq.gmo b/po/sq.gmo
index 6a22e27..c56b30b 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index e3977de..352dad2 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins 0.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2004-08-07 20:29+0200\n"
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
"Language-Team: Albanian <begraj@hotmail.com>\n"
@@ -33,6 +33,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
#, fuzzy
msgid "Server does not support seeking."
msgstr "Dispozitivi juaj OSS mund të mos provohet korrektësisht"
diff --git a/po/sr.gmo b/po/sr.gmo
index 09689a4..282931a 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 89be382..6def6ab 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good-1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-03-05 09:52+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
@@ -35,6 +35,9 @@
msgid "No URL set."
msgstr "Није подешена адреса."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Сервер не подржава позиционирање."
diff --git a/po/sv.gmo b/po/sv.gmo
index 8d817d6..9abdab9 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 5e71ef7..a0a2852 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-20 16:13+0100\n"
"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr "Ingen URL inställd."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Servern stöder inte sökning/spolning."
diff --git a/po/tr.gmo b/po/tr.gmo
index 09adadf..f1fe2b2 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 761b607..9f285fe 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.4.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2015-01-10 21:07+0100\n"
"Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr "Hiç bir URL ayarlanmamış."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Sunucu aramayı desteklemiyor."
diff --git a/po/uk.gmo b/po/uk.gmo
index 9a15e60..ac1a229 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 7861ed0..bddcae2 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-20 17:27+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -36,6 +36,9 @@
msgid "No URL set."
msgstr "Не вказано адресу"
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Сервером не підтримується позиціювання."
diff --git a/po/vi.gmo b/po/vi.gmo
index 029be4b..191cd70 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 65efa3b..7c9ca94 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-02-21 07:25+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -38,6 +38,9 @@
msgid "No URL set."
msgstr "Không có URL nào được đặt."
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "Máy phục vụ không hỗ trợ di chuyển vị trí đọc."
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index be2ffed..7c60f29 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 7ab064a..bba9c50 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good 1.10.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2016-11-02 13:39+0800\n"
"Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -35,6 +35,9 @@
msgid "No URL set."
msgstr "未设置URL。"
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr "设备不支持定位。"
diff --git a/po/zh_HK.gmo b/po/zh_HK.gmo
index d45400d..6acdee4 100644
--- a/po/zh_HK.gmo
+++ b/po/zh_HK.gmo
Binary files differ
diff --git a/po/zh_HK.po b/po/zh_HK.po
index 5d3a5c7..b38d94c 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2006-08-29 01:08+0800\n"
"Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
@@ -32,6 +32,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr ""
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 96f287e..0b33d92 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 540b5ad..dfffb47 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-11-17 14:58+0200\n"
+"POT-Creation-Date: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2006-08-29 01:08+0800\n"
"Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -32,6 +32,9 @@
msgid "No URL set."
msgstr ""
+msgid "Corrupted HTTP response."
+msgstr ""
+
msgid "Server does not support seeking."
msgstr ""
diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
index bfcfbaa..e9aa8e6 100644
--- a/sys/v4l2/gstv4l2bufferpool.c
+++ b/sys/v4l2/gstv4l2bufferpool.c
@@ -940,6 +940,7 @@
{
GstV4l2BufferPool *pool = GST_V4L2_BUFFER_POOL (bpool);
GstV4l2Object *obj = pool->obj;
+ GstBuffer *buffers[VIDEO_MAX_FRAME];
gint i;
GST_DEBUG_OBJECT (pool, "stop flushing");
@@ -951,7 +952,12 @@
if (pool->other_pool)
gst_buffer_pool_set_flushing (pool->other_pool, FALSE);
+ GST_OBJECT_LOCK (pool);
gst_v4l2_buffer_pool_streamoff (pool);
+ /* Remember buffers to re-enqueue */
+ memcpy(buffers, pool->buffers, sizeof(buffers));
+ memset(pool->buffers, 0, sizeof(pool->buffers));
+ GST_OBJECT_UNLOCK (pool);
/* Reset our state */
switch (obj->mode) {
@@ -964,11 +970,9 @@
{
for (i = 0; i < VIDEO_MAX_FRAME; i++) {
/* Re-enqueue buffers */
- if (pool->buffers[i]) {
+ if (buffers[i]) {
GstBufferPool *bpool = (GstBufferPool *) pool;
- GstBuffer *buffer = pool->buffers[i];
-
- pool->buffers[i] = NULL;
+ GstBuffer *buffer = buffers[i];
/* Remove qdata, this will unmap any map data in
* userptr/dmabuf-import */
@@ -1077,9 +1081,6 @@
GST_LOG_OBJECT (pool, "queuing buffer %i", index);
- g_atomic_int_inc (&pool->num_queued);
- pool->buffers[index] = buf;
-
if (V4L2_TYPE_IS_OUTPUT (obj->type)) {
enum v4l2_field field;
@@ -1107,10 +1108,13 @@
GST_TIME_TO_TIMEVAL (timestamp, group->buffer.timestamp);
}
+ GST_OBJECT_LOCK (pool);
+ g_atomic_int_inc (&pool->num_queued);
+ pool->buffers[index] = buf;
+
if (!gst_v4l2_allocator_qbuf (pool->vallocator, group))
goto queue_failed;
- GST_OBJECT_LOCK (pool);
pool->empty = FALSE;
g_cond_signal (&pool->empty_cond);
GST_OBJECT_UNLOCK (pool);
@@ -1129,6 +1133,7 @@
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_TAG_MEMORY);
g_atomic_int_add (&pool->num_queued, -1);
pool->buffers[index] = NULL;
+ GST_OBJECT_UNLOCK (pool);
return GST_FLOW_ERROR;
}
}
@@ -1703,8 +1708,6 @@
GST_DEBUG_OBJECT (pool, "process buffer %p", buf);
- g_return_val_if_fail (gst_buffer_pool_is_active (bpool), GST_FLOW_ERROR);
-
if (GST_BUFFER_POOL_IS_FLUSHING (pool))
return GST_FLOW_FLUSHING;
diff --git a/sys/v4l2/gstv4l2src.c b/sys/v4l2/gstv4l2src.c
index 3b722b2..0149814 100644
--- a/sys/v4l2/gstv4l2src.c
+++ b/sys/v4l2/gstv4l2src.c
@@ -873,6 +873,7 @@
}
error:
{
+ gst_buffer_replace (buf, NULL);
if (ret == GST_V4L2_FLOW_LAST_BUFFER) {
GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
("Driver returned a buffer with no payload, this most likely "
diff --git a/win32/common/config.h b/win32/common/config.h
index df0ad35..2c188eb 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -64,7 +64,7 @@
#define GST_PACKAGE_ORIGIN "Unknown package origin"
/* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2016-11-17"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-11-29"
/* Define if static plugins should be built */
#undef GST_PLUGIN_BUILD_STATIC
@@ -401,7 +401,7 @@
#define PACKAGE_NAME "GStreamer Good Plug-ins"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Good Plug-ins 1.10.1"
+#define PACKAGE_STRING "GStreamer Good Plug-ins 1.10.2"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gst-plugins-good"
@@ -410,7 +410,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.10.1"
+#define PACKAGE_VERSION "1.10.2"
/* directory where plugins are located */
#ifdef _DEBUG
@@ -445,7 +445,7 @@
#undef TARGET_CPU
/* Version number of package */
-#define VERSION "1.10.1"
+#define VERSION "1.10.2"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */