Merge branch 'upstream'
diff --git a/ChangeLog b/ChangeLog
index 1bc3408..4cee5e7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,96 @@
-=== release 1.8.3 ===
+=== release 1.9.90 ===
-2016-08-19 Sebastian Dröge <slomo@coaxion.net>
+2016-09-30 Sebastian Dröge <slomo@coaxion.net>
* configure.ac:
- releasing 1.8.3
+ releasing 1.9.90
-2016-08-19 12:06:55 +0300 Sebastian Dröge <sebastian@centricular.com>
+2016-09-30 11:44:22 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/id.po:
+ * po/sv.po:
+ po: Update translations
+
+2016-09-29 12:39:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/x264/gstx264enc.c:
+ x264enc: Set colorimetry and chroma-site information
+ https://bugzilla.gnome.org/show_bug.cgi?id=772159
+
+2016-09-24 09:08:00 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ * po/meson.build:
+ meson: hook up translations
+
+2016-09-24 08:59:55 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ * tests/check/getpluginsdir:
+ * tests/check/meson.build:
+ * tests/meson.build:
+ meson: hook up unit tests
+
+2016-09-14 11:30:58 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ configure: Depend on gstreamer 1.9.2.1
+
+2016-09-10 20:51:36 +1000 Jan Schmidt <jan@centricular.com>
+
+ * autogen.sh:
+ * common:
+ Automatic update of common submodule
+ From b18d820 to f980fd9
+
+2016-09-10 09:54:15 +1000 Jan Schmidt <jan@centricular.com>
+
+ * autogen.sh:
+ * common:
+ Automatic update of common submodule
+ From f49c55e to b18d820
+
+2016-09-05 12:22:56 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+ * meson.build:
+ meson: Bump version to 1.9.2
+
+2016-09-01 12:28:57 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ Back to development
+
+=== release 1.9.2 ===
+
+2016-09-01 12:28:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * docs/plugins/gst-plugins-ugly-plugins.hierarchy:
+ * docs/plugins/inspect/plugin-a52dec.xml:
+ * docs/plugins/inspect/plugin-amrnb.xml:
+ * docs/plugins/inspect/plugin-amrwbdec.xml:
+ * docs/plugins/inspect/plugin-asf.xml:
+ * docs/plugins/inspect/plugin-cdio.xml:
+ * docs/plugins/inspect/plugin-dvdlpcmdec.xml:
+ * docs/plugins/inspect/plugin-dvdread.xml:
+ * docs/plugins/inspect/plugin-dvdsub.xml:
+ * docs/plugins/inspect/plugin-lame.xml:
+ * docs/plugins/inspect/plugin-mad.xml:
+ * docs/plugins/inspect/plugin-mpeg2dec.xml:
+ * docs/plugins/inspect/plugin-mpg123.xml:
+ * docs/plugins/inspect/plugin-realmedia.xml:
+ * docs/plugins/inspect/plugin-siddec.xml:
+ * docs/plugins/inspect/plugin-twolame.xml:
+ * docs/plugins/inspect/plugin-x264.xml:
+ * docs/plugins/inspect/plugin-xingmux.xml:
+ * gst-plugins-ugly.doap:
+ * win32/common/config.h:
+ Release 1.9.2
+
+2016-09-01 11:24:13 +0300 Sebastian Dröge <sebastian@centricular.com>
* po/af.po:
* po/az.po:
@@ -47,11 +132,153 @@
* po/uk.po:
* po/vi.po:
* po/zh_CN.po:
- Update .po files
+ po: Update translations
-=== release 1.8.2 ===
+2016-09-01 10:57:46 +0300 Sebastian Dröge <sebastian@centricular.com>
-2016-06-09 11:52:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+ * ext/sidplay/gstsiddec.cc:
+ siddec: Fix compilation with debugging disabled
+ gstsiddec.o
+ gstsiddec.cc: In function ‘void play_loop(GstPad*)’:
+ gstsiddec.cc:446:18: error: unused variable ‘reason’ [-Werror=unused-variable]
+ const gchar *reason = gst_flow_get_name (ret);
+ ^
+
+2016-08-19 11:11:14 -0700 Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+ * ext/sidplay/gstsiddec.cc:
+ * gst/asfdemux/gstasfdemux.c:
+ * gst/realmedia/rmdemux.c:
+ Use the new API to post flow ERROR messages on the bus
+ https://bugzilla.gnome.org/show_bug.cgi?id=770158
+
+2016-08-24 09:45:05 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * gst/asfdemux/meson.build:
+ meson: Link asfdemux against the gstsdp library
+
+2016-08-23 15:29:10 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * meson.build:
+ meson: Add support for fallback subprojects
+
+2016-08-12 21:25:34 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * .gitignore:
+ * config.h.meson:
+ * ext/a52dec/meson.build:
+ * ext/amrnb/meson.build:
+ * ext/amrwbdec/meson.build:
+ * ext/cdio/meson.build:
+ * ext/dvdread/meson.build:
+ * ext/lame/meson.build:
+ * ext/mad/meson.build:
+ * ext/meson.build:
+ * ext/mpeg2dec/meson.build:
+ * ext/mpg123/meson.build:
+ * ext/twolame/meson.build:
+ * ext/x264/meson.build:
+ * gst/asfdemux/meson.build:
+ * gst/dvdlpcmdec/meson.build:
+ * gst/dvdsub/meson.build:
+ * gst/meson.build:
+ * gst/realmedia/meson.build:
+ * gst/xingmux/meson.build:
+ * meson.build:
+ Add support for Meson as alternative/parallel build system
+ https://github.com/mesonbuild/meson
+ With contributions from:
+ Tim-Philipp Müller <tim@centricular.com>
+ Jussi Pakkanen <jpakkane@gmail.com> (original port)
+ Highlights of the features provided are:
+ * Faster builds on Linux (~40-50% faster)
+ * The ability to build with MSVC on Windows
+ * Generate Visual Studio project files
+ * Generate XCode project files
+ * Much faster builds on Windows (on-par with Linux)
+ * Seriously fast configure and building on embedded
+ ... and many more. For more details see:
+ http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
+ http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
+ Building with Meson should work on both Linux and Windows, but may
+ need a few more tweaks on other operating systems.
+
+2016-08-12 21:41:39 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/a52dec/gsta52dec.c:
+ * ext/dvdread/dvdreadsrc.c:
+ * ext/x264/gstx264enc.h:
+ * gst/realmedia/realhash.c:
+ * gst/realmedia/rtspreal.c:
+ plugins: Use <stdint.h> instead of _stdint.h
+ _stdint.h is generated by Autotools and we don't really need it. All
+ supported platforms now ship with stdint.h. The only stickler was MSVC,
+ and since Visual Studio 2015 it also ships stdint.h now.
+
+2016-08-19 13:01:39 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/mpeg2dec/perftest.c:
+ mpeg2dec: remove file no longer used or needed
+
+2016-08-08 09:58:20 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/dvdlpcmdec/Makefile.am:
+ dvdlpcmdec: add libgstbase CFLAGS as well
+ For consistency.
+ https://bugzilla.gnome.org/show_bug.cgi?id=769610
+
+2016-08-07 00:10:24 +0000 xlazom00 <xlazom00@gmail.com>
+
+ * gst/dvdlpcmdec/Makefile.am:
+ dvdlpcmdec: link libgstbase-1.0
+ https://bugzilla.gnome.org/show_bug.cgi?id=769610
+
+2016-08-02 13:38:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
+
+ * gst/asfdemux/gstasfdemux.c:
+ asfdemux: Add byte rate based bitrate tag in case there are no audio props
+ https://bugzilla.gnome.org/show_bug.cgi?id=769418
+
+2016-04-28 16:42:43 +0200 Michael Olbrich <m.olbrich@pengutronix.de>
+
+ * gst/dvdlpcmdec/gstdvdlpcmdec.c:
+ * gst/dvdlpcmdec/gstdvdlpcmdec.h:
+ dvdlpcmdec: add support for another format
+ The format specification can be found here:
+ http://www.dvdforum.org/images/Guideline1394V10R0_20020911.pdf
+ Note: This format is also used for Wifi-Display.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765807
+
+2016-04-28 16:32:53 +0200 Michael Olbrich <m.olbrich@pengutronix.de>
+
+ * gst/dvdlpcmdec/gstdvdlpcmdec.c:
+ * gst/dvdlpcmdec/gstdvdlpcmdec.h:
+ dvdlpcmdec: rewrite to use GstAudioDecoder
+ https://bugzilla.gnome.org/show_bug.cgi?id=765807
+
+2016-07-24 10:00:48 +0200 Josep Torra <n770galaxy@gmail.com>
+
+ * ext/sidplay/gstsiddec.cc:
+ sidplay: fix compiler warnings when building with -O3
+ Avoid compiler warnings "‘foo’ may be used uninitialized in this
+ function" when building with -O3 by checking the return bool value
+ of format conversion function.
+ https://bugzilla.gnome.org/show_bug.cgi?id=769116
+
+2016-07-11 21:14:06 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * common:
+ Automatic update of common submodule
+ From f363b32 to f49c55e
+
+2016-07-06 13:51:09 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ Back to development
+
+=== release 1.9.1 ===
+
+2016-07-06 13:15:28 +0300 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
@@ -76,9 +303,9 @@
* docs/plugins/inspect/plugin-xingmux.xml:
* gst-plugins-ugly.doap:
* win32/common/config.h:
- Release 1.8.2
+ Release 1.9.1
-2016-06-09 11:24:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+2016-07-06 11:54:01 +0300 Sebastian Dröge <sebastian@centricular.com>
* po/af.po:
* po/az.po:
@@ -122,11 +349,17 @@
* po/zh_CN.po:
Update .po files
-2016-06-09 10:06:28 +0300 Sebastian Dröge <sebastian@centricular.com>
+2016-07-06 10:19:44 +0300 Sebastian Dröge <sebastian@centricular.com>
* po/hr.po:
po: Update translations
+2016-06-21 11:46:53 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * common:
+ Automatic update of common submodule
+ From ac2f647 to f363b32
+
2015-05-12 11:08:55 +0300 Vootele Vesterblom <vov@bang-olufsen.dk>
* gst/asfdemux/gstasfdemux.c:
@@ -145,14 +378,8 @@
The clock returned by gst_system_clock_obtain() was never unreffed.
https://bugzilla.gnome.org/show_bug.cgi?id=766565
-=== release 1.8.1 ===
+2016-05-15 13:33:30 +0300 Sebastian Dröge <sebastian@centricular.com>
-2016-04-20 18:30:15 +0300 Sebastian Dröge <sebastian@centricular.com>
-
- * ChangeLog:
- * NEWS:
- * RELEASE:
- * configure.ac:
* docs/plugins/inspect/plugin-a52dec.xml:
* docs/plugins/inspect/plugin-amrnb.xml:
* docs/plugins/inspect/plugin-amrwbdec.xml:
@@ -170,53 +397,94 @@
* docs/plugins/inspect/plugin-twolame.xml:
* docs/plugins/inspect/plugin-x264.xml:
* docs/plugins/inspect/plugin-xingmux.xml:
- * gst-plugins-ugly.doap:
- * win32/common/config.h:
- Release 1.8.1
+ docs: Update for git master
-2016-04-20 18:11:46 +0300 Sebastian Dröge <sebastian@centricular.com>
+2016-04-16 09:15:43 +0100 Tim-Philipp Müller <tim@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/ms.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:
- Update .po files
+ * ext/amrnb/amrnbdec.c:
+ * ext/mad/gstmad.c:
+ amrnbec, mad: fix two more parse function declarations
+
+2016-04-15 20:46:37 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/a52dec/gsta52dec.c:
+ * ext/amrwbdec/amrwbdec.c:
+ a52dec, amrwbec: fix parse function declaration mismatch
+ Fixes MSVC compiler warning:
+ amrwbdec.c(99): warning C4133: '=': incompatible types
+ - from 'gboolean (__cdecl *)(GstAudioDecoder *,GstAdapter *,gint *,gint *)' to
+ 'GstFlowReturn (__cdecl *)(GstAudioDecoder *,GstAdapter *,gint *,gint *)'
+ gsta52dec.c(156): warning C4133: '=': incompatible types
+ - from 'gboolean (__cdecl *)(GstAudioDecoder *,GstAdapter *,gint *,gint *)' to
+ 'GstFlowReturn (__cdecl *)(GstAudioDecoder *,GstAdapter *,gint *,gint *)'
+
+2016-04-15 19:55:03 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/mpg123/gstmpg123audiodec.h:
+ mpg123: fix build with msvc
+ Fix syntax errors when compiling against cerbero-provided libmpg123
+ headers. We do the same as the libmpg123 internal visual studio
+ build here.
+ mpg123.h(1378): error C2143: syntax error: missing ')' before '('
+ mpg123.h(1378): error C2081: 'ssize_t': name in formal parameter list illegal
+ mpg123.h(1378): error C2143: syntax error: missing ')' before '*'
+ mpg123.h(1378): error C2091: function returns function
+ mpg123.h(1378): error C2143: syntax error: missing '{' before '*'
+ mpg123.h(1378): error C2059: syntax error: ')'
+ mpg123.h(1379): error C2143: syntax error: missing ')' before '*'
+ mpg123.h(1379): error C2365: 'off_t': redefinition; previous definition was 'typedef'
+ ...
+
+2016-04-15 18:37:42 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * configure.ac:
+ * ext/mpeg2dec/gstmpeg2dec.c:
+ mpeg2dec: bump libmpeg2 requirement to 0.5.1 and fix msvc build
+ libmpeg2 0.5.1 was released in mid-2008, let's bump the requirement
+ and get rid of version-dependent code paths. There's still
+ avdec_mpeg2video for those who are stuck on ancient distros which
+ we don't target any more.
+ Also fixes build with MSVC, which doesn't like #if #else #endif
+ inside macro arguments (like the GST_DEBUG_OBJECT in line 941).
+
+2016-04-14 10:02:50 +0100 Julien Isorce <j.isorce@samsung.com>
+
+ * README:
+ * common:
+ Automatic update of common submodule
+ From 6f2d209 to ac2f647
+
+2016-03-04 16:14:44 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * ext/a52dec/gsta52dec.c:
+ * ext/amrnb/amrnbdec.c:
+ * ext/amrnb/amrnbenc.c:
+ * ext/amrwbdec/amrwbdec.c:
+ * ext/dvdread/dvdreadsrc.c:
+ * ext/lame/gstlamemp3enc.c:
+ * ext/mad/gstmad.c:
+ * ext/mpeg2dec/gstmpeg2dec.c:
+ * ext/sidplay/gstsiddec.cc:
+ * ext/twolame/gsttwolamemp2enc.c:
+ * ext/x264/gstx264enc.c:
+ * gst/asfdemux/gstasfdemux.c:
+ * gst/asfdemux/gstrtpasfdepay.c:
+ * gst/dvdlpcmdec/gstdvdlpcmdec.c:
+ * gst/dvdsub/gstdvdsubdec.c:
+ * gst/dvdsub/gstdvdsubparse.c:
+ * gst/realmedia/pnmsrc.c:
+ * gst/realmedia/rademux.c:
+ * gst/realmedia/rdtdepay.c:
+ * gst/realmedia/rdtmanager.c:
+ * gst/realmedia/rmdemux.c:
+ * gst/xingmux/gstxingmux.c:
+ ugly: use new gst_element_class_add_static_pad_template()
+ https://bugzilla.gnome.org/show_bug.cgi?id=763082
+
+2016-03-24 13:33:22 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ Back to development
=== release 1.8.0 ===
diff --git a/Makefile.in b/Makefile.in
index ed018c3..9adaf62 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1088,8 +1088,11 @@
update-exports:
make check-exports 2>&1 | patch -p1
- git add win32/common/libgst*.def
- git diff --cached -- win32/common/
+ if test -f "$(top_srcdir)/win32/common/libgstgl.def"; then \
+ git checkout "$(top_srcdir)/win32/common/libgstgl.def"; \
+ fi
+ git add $(top_srcdir)/win32/common/libgst*.def
+ git diff --cached -- $(top_srcdir)/win32/common/
echo '^^^--- updated and staged changes above'
# complain about nonportable printf format strings (%lld, %llu, %zu etc.)
diff --git a/NEWS b/NEWS
index 90393f5..072b2df 100644
--- a/NEWS
+++ b/NEWS
@@ -1,29 +1 @@
-### 1.8.3
-
-The third 1.8 bug-fix release (1.8.3) was released on 19 August 2016.
-This release only contains bugfixes and it should be safe to update from 1.8.x.
-
-#### Major bugfixes in 1.8.3
-
- - Fix Android build scripts on OS X and Windows
- - Fix stepping in PAUSED state in certain circumstances
- - Fix jackaudiosink hang when exiting
- - Fix udpsrc receiving multicast packets not only from the selected
- multicast group
- - Fix unnecessary decoding of unselected streams in GES
- - Fix (multi)udpsink randomly not sending to clients
- - Fix ALL\_BOTH probes not considering EVENT\_FLUSH
- - Fix average input rate calculations in queue2
- - Fix various locking issues causing deadlock in adaptivedemux
- - Fix gst-libav encoders to correctly produce codec\_data in caps
- - Add Wayland, Windows and Rasberry Pi support to the QML GL video sink
- - Add support for building with OpenH264 1.6
- - Add support for controlling deinterlacing in GES video sources
- - ... and many, many more!
-
-For a full list of bugfixes see [Bugzilla][buglist-1.8.3]. 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.8.3]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=145400&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.3
-
+This is GStreamer 1.9.90
diff --git a/README b/README
index fa53f95..48e2c9f 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-GStreamer 1.7.x development series
+GStreamer 1.9.x development series
WHAT IT IS
----------
diff --git a/RELEASE b/RELEASE
index cdffd0e..4108882 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,16 +1,15 @@
-Release notes for GStreamer Ugly Plugins 1.8.3
+Release notes for GStreamer Ugly Plugins 1.9.90
-The GStreamer team is proud to announce the third bugfix release in the stable
-1.8 release series of your favourite cross-platform multimedia framework!
+The GStreamer team is pleased to announce the first release candidate of the
+stable 1.10 release series. The 1.10 release series is adding new features on
+top of the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and
+ABI-stable 1.x release series of the GStreamer multimedia framework.
-This release only contains bugfixes and it is safe to update from 1.8.x. For a
-full list of bugfixes see Bugzilla.
+Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
-See /releases/1.8/ for the full release notes.
-
"When you have to shoot, shoot. Don't talk."
@@ -90,5 +89,8 @@
Contributors to this release
+ * Jan Schmidt
* Sebastian Dröge
+ * Thibault Saunier
+ * Tim-Philipp Müller
\ No newline at end of file
diff --git a/common/gst.supp b/common/gst.supp
index 2740e9a..f85cd69 100644
--- a/common/gst.supp
+++ b/common/gst.supp
@@ -4024,5 +4024,4 @@
fun:malloc
...
fun:g_quark_init
- fun:glib_init_ctor
}
diff --git a/common/gtk-doc-plugins.mak b/common/gtk-doc-plugins.mak
index fe0977c..4b5dd1b 100644
--- a/common/gtk-doc-plugins.mak
+++ b/common/gtk-doc-plugins.mak
@@ -179,9 +179,13 @@
$(top_srcdir)/common/plugins.xsl $$a > xml/`basename $$a`; done
@for f in $(EXAMPLE_CFILES); do \
$(PYTHON) $(top_srcdir)/common/c-to-xml.py $$f > xml/element-`basename $$f .c`.xml; done
- @gtkdoc-mkdb \
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb \
--module=$(DOC_MODULE) \
- --source-dir=$(DOC_SOURCE_DIR) \
+ $${_source_dir} \
--expand-content-files="$(expand_content_files)" \
--main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
--output-format=xml \
diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
index 2aab3a9..3f83491 100644
--- a/common/gtk-doc.mak
+++ b/common/gtk-doc.mak
@@ -121,7 +121,11 @@
sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(expand_content_files)
@echo ' DOC Building XML'
- @gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) $${_source_dir} --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
@cp ../version.entities xml
@touch sgml-build.stamp
diff --git a/common/m4/ax_pthread.m4 b/common/m4/ax_pthread.m4
index d383ad5..4c4051e 100644
--- a/common/m4/ax_pthread.m4
+++ b/common/m4/ax_pthread.m4
@@ -19,10 +19,10 @@
# is necessary on AIX to use the special cc_r compiler alias.)
#
# NOTE: You are assumed to not only compile your program with these flags,
-# but also link it with them as well. e.g. you should link with
+# but also to link with them as well. For example, you might link with
# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
#
-# If you are only building threads programs, you may wish to use these
+# If you are only building threaded programs, you may wish to use these
# variables in your default LIBS, CFLAGS, and CC:
#
# LIBS="$PTHREAD_LIBS $LIBS"
@@ -30,8 +30,8 @@
# CC="$PTHREAD_CC"
#
# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
-# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
-# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
+# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
#
# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
# PTHREAD_PRIO_INHERIT symbol is defined when compiling with
@@ -82,35 +82,40 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 21
+#serial 23
AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
AC_DEFUN([AX_PTHREAD], [
AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_SED])
AC_LANG_PUSH([C])
ax_pthread_ok=no
# We used to check for pthread.h first, but this fails if pthread.h
-# requires special compiler flags (e.g. on True64 or Sequent).
+# requires special compiler flags (e.g. on Tru64 or Sequent).
# It gets checked for in the link test anyway.
# First of all, check if the user has set any of the PTHREAD_LIBS,
# etcetera environment variables, and if threads linking works using
# them:
-if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
- save_CFLAGS="$CFLAGS"
+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
+ ax_pthread_save_CC="$CC"
+ ax_pthread_save_CFLAGS="$CFLAGS"
+ ax_pthread_save_LIBS="$LIBS"
+ AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
- save_LIBS="$LIBS"
LIBS="$PTHREAD_LIBS $LIBS"
- AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
- AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes])
+ AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
+ AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
AC_MSG_RESULT([$ax_pthread_ok])
- if test x"$ax_pthread_ok" = xno; then
+ if test "x$ax_pthread_ok" = "xno"; then
PTHREAD_LIBS=""
PTHREAD_CFLAGS=""
fi
- LIBS="$save_LIBS"
- CFLAGS="$save_CFLAGS"
+ CC="$ax_pthread_save_CC"
+ CFLAGS="$ax_pthread_save_CFLAGS"
+ LIBS="$ax_pthread_save_LIBS"
fi
# We must check for the threads library under a number of different
@@ -123,7 +128,7 @@
# which indicates that we try without any flags at all, and "pthread-config"
# which is a program returning the flags for the Pth emulation library.
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
# The ordering *is* (sometimes) important. Some notes on the
# individual items follow:
@@ -132,82 +137,225 @@
# none: in case threads are in libc; should be tried before -Kthread and
# other compiler flags to prevent continual compiler warnings
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
-# -pthreads: Solaris/gcc
-# -mthreads: Mingw32/gcc, Lynx/gcc
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
+# (Note: HP C rejects this with "bad form for `-t' option")
+# -pthreads: Solaris/gcc (Note: HP C also rejects)
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-# doesn't hurt to check since this sometimes defines pthreads too;
-# also defines -D_REENTRANT)
-# ... -mt is also the pthreads flag for HP/aCC
+# doesn't hurt to check since this sometimes defines pthreads and
+# -D_REENTRANT too), HP C (must be checked before -lpthread, which
+# is present but should not be used directly; and before -mthreads,
+# because the compiler interprets this as "-mt" + "-hreads")
+# -mthreads: Mingw32/gcc, Lynx/gcc
# pthread: Linux, etcetera
# --thread-safe: KAI C++
# pthread-config: use pthread-config program (for GNU Pth library)
-case ${host_os} in
+case $host_os in
+
+ freebsd*)
+
+ # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+ # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+
+ ax_pthread_flags="-kthread lthread $ax_pthread_flags"
+ ;;
+
+ hpux*)
+
+ # From the cc(1) man page: "[-mt] Sets various -D flags to enable
+ # multi-threading and also sets -lpthread."
+
+ ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
+ ;;
+
+ openedition*)
+
+ # IBM z/OS requires a feature-test macro to be defined in order to
+ # enable POSIX threads at all, so give the user a hint if this is
+ # not set. (We don't define these ourselves, as they can affect
+ # other portions of the system API in unpredictable ways.)
+
+ AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
+ [
+# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
+ AX_PTHREAD_ZOS_MISSING
+# endif
+ ],
+ [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
+ ;;
+
solaris*)
# On Solaris (at least, for some versions), libc contains stubbed
# (non-functional) versions of the pthreads routines, so link-based
- # tests will erroneously succeed. (We need to link with -pthreads/-mt/
- # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
- # a function called by this macro, so we could check for that, but
- # who knows whether they'll stub that too in a future libc.) So,
- # we'll just look for -pthreads and -lpthread first:
+ # tests will erroneously succeed. (N.B.: The stubs are missing
+ # pthread_cleanup_push, or rather a function called by this macro,
+ # so we could check for that, but who knows whether they'll stub
+ # that too in a future libc.) So we'll check first for the
+ # standard Solaris way of linking pthreads (-mt -lpthread).
- ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
- ;;
-
- darwin*)
- ax_pthread_flags="-pthread $ax_pthread_flags"
+ ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
;;
esac
-# Clang doesn't consider unrecognized options an error unless we specify
-# -Werror. We throw in some extra Clang-specific options to ensure that
-# this doesn't happen for GCC, which also accepts -Werror.
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
-AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags])
-save_CFLAGS="$CFLAGS"
-ax_pthread_extra_flags="-Werror"
-CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])],
- [AC_MSG_RESULT([yes])],
- [ax_pthread_extra_flags=
- AC_MSG_RESULT([no])])
-CFLAGS="$save_CFLAGS"
+AS_IF([test "x$GCC" = "xyes"],
+ [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
-if test x"$ax_pthread_ok" = xno; then
-for flag in $ax_pthread_flags; do
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
- case $flag in
+case $host_os in
+ darwin* | hpux* | linux* | osf* | solaris*)
+ ax_pthread_check_macro="_REENTRANT"
+ ;;
+
+ aix*)
+ ax_pthread_check_macro="_THREAD_SAFE"
+ ;;
+
+ *)
+ ax_pthread_check_macro="--"
+ ;;
+esac
+AS_IF([test "x$ax_pthread_check_macro" = "x--"],
+ [ax_pthread_check_cond=0],
+ [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
+
+# Are we compiling with Clang?
+
+AC_CACHE_CHECK([whether $CC is Clang],
+ [ax_cv_PTHREAD_CLANG],
+ [ax_cv_PTHREAD_CLANG=no
+ # Note that Autoconf sets GCC=yes for Clang as well as GCC
+ if test "x$GCC" = "xyes"; then
+ AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
+ [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+# if defined(__clang__) && defined(__llvm__)
+ AX_PTHREAD_CC_IS_CLANG
+# endif
+ ],
+ [ax_cv_PTHREAD_CLANG=yes])
+ fi
+ ])
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+ax_pthread_clang_warning=no
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+ # Clang takes -pthread; it has never supported any other flag
+
+ # (Note 1: This will need to be revisited if a system that Clang
+ # supports has POSIX threads in a separate library. This tends not
+ # to be the way of modern systems, but it's conceivable.)
+
+ # (Note 2: On some systems, notably Darwin, -pthread is not needed
+ # to get POSIX threads support; the API is always present and
+ # active. We could reasonably leave PTHREAD_CFLAGS empty. But
+ # -pthread does define _REENTRANT, and while the Darwin headers
+ # ignore this macro, third-party headers might not.)
+
+ PTHREAD_CFLAGS="-pthread"
+ PTHREAD_LIBS=
+
+ ax_pthread_ok=yes
+
+ # However, older versions of Clang make a point of warning the user
+ # that, in an invocation where only linking and no compilation is
+ # taking place, the -pthread option has no effect ("argument unused
+ # during compilation"). They expect -pthread to be passed in only
+ # when source code is being compiled.
+ #
+ # Problem is, this is at odds with the way Automake and most other
+ # C build frameworks function, which is that the same flags used in
+ # compilation (CFLAGS) are also used in linking. Many systems
+ # supported by AX_PTHREAD require exactly this for POSIX threads
+ # support, and in fact it is often not straightforward to specify a
+ # flag that is used only in the compilation phase and not in
+ # linking. Such a scenario is extremely rare in practice.
+ #
+ # Even though use of the -pthread flag in linking would only print
+ # a warning, this can be a nuisance for well-run software projects
+ # that build with -Werror. So if the active version of Clang has
+ # this misfeature, we search for an option to squash it.
+
+ AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
+ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
+ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+ # Create an alternate version of $ac_link that compiles and
+ # links in two steps (.c -> .o, .o -> exe) instead of one
+ # (.c -> exe), because the warning occurs only in the second
+ # step
+ ax_pthread_save_ac_link="$ac_link"
+ ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+ ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+ ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+ ax_pthread_save_CFLAGS="$CFLAGS"
+ for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+ AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
+ CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+ ac_link="$ax_pthread_save_ac_link"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+ [ac_link="$ax_pthread_2step_ac_link"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+ [break])
+ ])
+ done
+ ac_link="$ax_pthread_save_ac_link"
+ CFLAGS="$ax_pthread_save_CFLAGS"
+ AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
+ ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+ ])
+
+ case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+ no | unknown) ;;
+ *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+ esac
+
+fi # $ax_pthread_clang = yes
+
+if test "x$ax_pthread_ok" = "xno"; then
+for ax_pthread_try_flag in $ax_pthread_flags; do
+
+ case $ax_pthread_try_flag in
none)
AC_MSG_CHECKING([whether pthreads work without any flags])
;;
+ -mt,pthread)
+ AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
+ PTHREAD_CFLAGS="-mt"
+ PTHREAD_LIBS="-lpthread"
+ ;;
+
-*)
- AC_MSG_CHECKING([whether pthreads work with $flag])
- PTHREAD_CFLAGS="$flag"
+ AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
+ PTHREAD_CFLAGS="$ax_pthread_try_flag"
;;
pthread-config)
AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
- if test x"$ax_pthread_config" = xno; then continue; fi
+ AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
PTHREAD_CFLAGS="`pthread-config --cflags`"
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
;;
*)
- AC_MSG_CHECKING([for the pthreads library -l$flag])
- PTHREAD_LIBS="-l$flag"
+ AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
+ PTHREAD_LIBS="-l$ax_pthread_try_flag"
;;
esac
- save_LIBS="$LIBS"
- save_CFLAGS="$CFLAGS"
+ ax_pthread_save_CFLAGS="$CFLAGS"
+ ax_pthread_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
LIBS="$PTHREAD_LIBS $LIBS"
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
# Check for various functions. We must include pthread.h,
# since some functions may be macros. (On the Sequent, we
@@ -218,7 +366,11 @@
# pthread_cleanup_push because it is one of the few pthread
# functions on Solaris that doesn't have a non-functional libc stub.
# We try pthread_create on general principles.
+
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
+# if $ax_pthread_check_cond
+# error "$ax_pthread_check_macro must be defined"
+# endif
static void routine(void *a) { a = 0; }
static void *start_routine(void *a) { return a; }],
[pthread_t th; pthread_attr_t attr;
@@ -227,16 +379,14 @@
pthread_attr_init(&attr);
pthread_cleanup_push(routine, 0);
pthread_cleanup_pop(0) /* ; */])],
- [ax_pthread_ok=yes],
- [])
+ [ax_pthread_ok=yes],
+ [])
- LIBS="$save_LIBS"
- CFLAGS="$save_CFLAGS"
+ CFLAGS="$ax_pthread_save_CFLAGS"
+ LIBS="$ax_pthread_save_LIBS"
AC_MSG_RESULT([$ax_pthread_ok])
- if test "x$ax_pthread_ok" = xyes; then
- break;
- fi
+ AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
PTHREAD_LIBS=""
PTHREAD_CFLAGS=""
@@ -244,71 +394,74 @@
fi
# Various other checks:
-if test "x$ax_pthread_ok" = xyes; then
- save_LIBS="$LIBS"
- LIBS="$PTHREAD_LIBS $LIBS"
- save_CFLAGS="$CFLAGS"
+if test "x$ax_pthread_ok" = "xyes"; then
+ ax_pthread_save_CFLAGS="$CFLAGS"
+ ax_pthread_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ LIBS="$PTHREAD_LIBS $LIBS"
# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
- AC_MSG_CHECKING([for joinable pthread attribute])
- attr_name=unknown
- for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
- [int attr = $attr; return attr /* ; */])],
- [attr_name=$attr; break],
- [])
- done
- AC_MSG_RESULT([$attr_name])
- if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
- AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name],
- [Define to necessary symbol if this constant
- uses a non-standard name on your system.])
- fi
+ AC_CACHE_CHECK([for joinable pthread attribute],
+ [ax_cv_PTHREAD_JOINABLE_ATTR],
+ [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
+ for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
+ [int attr = $ax_pthread_attr; return attr /* ; */])],
+ [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
+ [])
+ done
+ ])
+ AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
+ test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
+ test "x$ax_pthread_joinable_attr_defined" != "xyes"],
+ [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
+ [$ax_cv_PTHREAD_JOINABLE_ATTR],
+ [Define to necessary symbol if this constant
+ uses a non-standard name on your system.])
+ ax_pthread_joinable_attr_defined=yes
+ ])
- AC_MSG_CHECKING([if more special flags are required for pthreads])
- flag=no
- case ${host_os} in
- aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
- osf* | hpux*) flag="-D_REENTRANT";;
- solaris*)
- if test "$GCC" = "yes"; then
- flag="-D_REENTRANT"
- else
- # TODO: What about Clang on Solaris?
- flag="-mt -D_REENTRANT"
- fi
- ;;
- esac
- AC_MSG_RESULT([$flag])
- if test "x$flag" != xno; then
- PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
- fi
+ AC_CACHE_CHECK([whether more special flags are required for pthreads],
+ [ax_cv_PTHREAD_SPECIAL_FLAGS],
+ [ax_cv_PTHREAD_SPECIAL_FLAGS=no
+ case $host_os in
+ solaris*)
+ ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
+ ;;
+ esac
+ ])
+ AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
+ test "x$ax_pthread_special_flags_added" != "xyes"],
+ [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
+ ax_pthread_special_flags_added=yes])
AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
- [ax_cv_PTHREAD_PRIO_INHERIT], [
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
- [[int i = PTHREAD_PRIO_INHERIT;]])],
- [ax_cv_PTHREAD_PRIO_INHERIT=yes],
- [ax_cv_PTHREAD_PRIO_INHERIT=no])
+ [ax_cv_PTHREAD_PRIO_INHERIT],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
+ [[int i = PTHREAD_PRIO_INHERIT;]])],
+ [ax_cv_PTHREAD_PRIO_INHERIT=yes],
+ [ax_cv_PTHREAD_PRIO_INHERIT=no])
])
- AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"],
- [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])])
+ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
+ test "x$ax_pthread_prio_inherit_defined" != "xyes"],
+ [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
+ ax_pthread_prio_inherit_defined=yes
+ ])
- LIBS="$save_LIBS"
- CFLAGS="$save_CFLAGS"
+ CFLAGS="$ax_pthread_save_CFLAGS"
+ LIBS="$ax_pthread_save_LIBS"
# More AIX lossage: compile with *_r variant
- if test "x$GCC" != xyes; then
+ if test "x$GCC" != "xyes"; then
case $host_os in
aix*)
AS_CASE(["x/$CC"],
- [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
- [#handle absolute path differently from PATH based program lookup
- AS_CASE(["x$CC"],
- [x/*],
- [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
- [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
+ [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
+ [#handle absolute path differently from PATH based program lookup
+ AS_CASE(["x$CC"],
+ [x/*],
+ [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
+ [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
;;
esac
fi
@@ -321,7 +474,7 @@
AC_SUBST([PTHREAD_CC])
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$ax_pthread_ok" = xyes; then
+if test "x$ax_pthread_ok" = "xyes"; then
ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
:
else
diff --git a/common/win32.mak b/common/win32.mak
index 87cd346..6060532 100644
--- a/common/win32.mak
+++ b/common/win32.mak
@@ -61,8 +61,11 @@
update-exports:
make check-exports 2>&1 | patch -p1
- git add win32/common/libgst*.def
- git diff --cached -- win32/common/
+ if test -f "$(top_srcdir)/win32/common/libgstgl.def"; then \
+ git checkout "$(top_srcdir)/win32/common/libgstgl.def"; \
+ fi
+ git add $(top_srcdir)/win32/common/libgst*.def
+ git diff --cached -- $(top_srcdir)/win32/common/
echo '^^^--- updated and staged changes above'
# complain about nonportable printf format strings (%lld, %llu, %zu etc.)
diff --git a/configure b/configure
index ca84420..4fa858d 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 Ugly Plug-ins 1.8.3.
+# Generated by GNU Autoconf 2.69 for GStreamer Ugly Plug-ins 1.9.90.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='GStreamer Ugly Plug-ins'
PACKAGE_TARNAME='gst-plugins-ugly'
-PACKAGE_VERSION='1.8.3'
-PACKAGE_STRING='GStreamer Ugly Plug-ins 1.8.3'
+PACKAGE_VERSION='1.9.90'
+PACKAGE_STRING='GStreamer Ugly Plug-ins 1.9.90'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -1672,7 +1672,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 Ugly Plug-ins 1.8.3 to adapt to many kinds of systems.
+\`configure' configures GStreamer Ugly Plug-ins 1.9.90 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1745,7 +1745,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer Ugly Plug-ins 1.8.3:";;
+ short | recursive ) echo "Configuration of GStreamer Ugly Plug-ins 1.9.90:";;
esac
cat <<\_ACEOF
@@ -1987,7 +1987,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer Ugly Plug-ins configure 1.8.3
+GStreamer Ugly Plug-ins configure 1.9.90
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2893,7 +2893,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 Ugly Plug-ins $as_me 1.8.3, which was
+It was created by GStreamer Ugly Plug-ins $as_me 1.9.90, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3872,7 +3872,7 @@
# Define the identity of the package.
PACKAGE='gst-plugins-ugly'
- VERSION='1.8.3'
+ VERSION='1.9.90'
cat >>confdefs.h <<_ACEOF
@@ -4083,9 +4083,9 @@
- PACKAGE_VERSION_MAJOR=$(echo 1.8.3 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.8.3 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.8.3 | cut -d'.' -f3)
+ PACKAGE_VERSION_MAJOR=$(echo 1.9.90 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.9.90 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.9.90 | cut -d'.' -f3)
@@ -4096,7 +4096,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.8.3 | cut -d'.' -f4)
+ NANO=$(echo 1.9.90 | cut -d'.' -f4)
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -8930,10 +8930,10 @@
done
- GST_CURRENT=803
+ GST_CURRENT=990
GST_REVISION=0
- GST_AGE=803
- GST_LIBVERSION=803:0:803
+ GST_AGE=990
+ GST_LIBVERSION=990:0:990
@@ -13561,8 +13561,8 @@
-GST_REQ=1.8.0
-GSTPB_REQ=1.8.0
+GST_REQ=1.9.90
+GSTPB_REQ=1.9.90
@@ -27032,7 +27032,7 @@
HAVE_MPEG2DEC=no
- which="libmpeg2 >= 0.4.0"
+ which="libmpeg2 >= 0.5.1"
required="no"
@@ -28797,7 +28797,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GStreamer Ugly Plug-ins $as_me 1.8.3, which was
+This file was extended by GStreamer Ugly Plug-ins $as_me 1.9.90, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -28863,7 +28863,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 Ugly Plug-ins config.status 1.8.3
+GStreamer Ugly Plug-ins config.status 1.9.90
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 15917bf..40c6ffb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
dnl initialize autoconf
dnl releases only do -Wall, cvs and prerelease does -Werror too
dnl use a three digit version number for releases, and four for cvs/prerelease
-AC_INIT([GStreamer Ugly Plug-ins],[1.8.3],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-ugly])
+AC_INIT([GStreamer Ugly Plug-ins],[1.9.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-ugly])
AG_GST_INIT
@@ -42,11 +42,11 @@
AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
[GStreamer API Version])
-AS_LIBTOOL(GST, 803, 0, 803)
+AS_LIBTOOL(GST, 990, 0, 990)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.8.0
-GSTPB_REQ=1.8.0
+GST_REQ=1.9.90
+GSTPB_REQ=1.9.90
dnl *** autotools stuff ****
@@ -339,7 +339,7 @@
dnl *** mpeg2dec ***
translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
AG_GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
- AG_GST_PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.4.0)
+ AG_GST_PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.5.1)
])
dnl *** mpg123 ***
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 5029a11..388bef0 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -953,9 +953,13 @@
@ENABLE_GTK_DOC_TRUE@ $(top_srcdir)/common/plugins.xsl $$a > xml/`basename $$a`; done
@ENABLE_GTK_DOC_TRUE@ @for f in $(EXAMPLE_CFILES); do \
@ENABLE_GTK_DOC_TRUE@ $(PYTHON) $(top_srcdir)/common/c-to-xml.py $$f > xml/element-`basename $$f .c`.xml; done
-@ENABLE_GTK_DOC_TRUE@ @gtkdoc-mkdb \
+@ENABLE_GTK_DOC_TRUE@ @_source_dir='' ; \
+@ENABLE_GTK_DOC_TRUE@ for i in $(DOC_SOURCE_DIR) ; do \
+@ENABLE_GTK_DOC_TRUE@ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+@ENABLE_GTK_DOC_TRUE@ done ; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkdb \
@ENABLE_GTK_DOC_TRUE@ --module=$(DOC_MODULE) \
-@ENABLE_GTK_DOC_TRUE@ --source-dir=$(DOC_SOURCE_DIR) \
+@ENABLE_GTK_DOC_TRUE@ $${_source_dir} \
@ENABLE_GTK_DOC_TRUE@ --expand-content-files="$(expand_content_files)" \
@ENABLE_GTK_DOC_TRUE@ --main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
@ENABLE_GTK_DOC_TRUE@ --output-format=xml \
diff --git a/docs/plugins/gst-plugins-ugly-plugins.hierarchy b/docs/plugins/gst-plugins-ugly-plugins.hierarchy
index 0d41043..99bab3c 100644
--- a/docs/plugins/gst-plugins-ugly-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-ugly-plugins.hierarchy
@@ -13,6 +13,7 @@
GstA52Dec
GstAmrnbDec
GstAmrwbDec
+ GstDvdLpcmDec
GstMad
GstMpg123AudioDec
GstAudioEncoder
@@ -27,7 +28,6 @@
GstPNMSrc
GstBin
GstPipeline
- GstDvdLpcmDec
GstDvdSubDec
GstDvdSubParse
GstRDTDepay
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-a52dec.html b/docs/plugins/html/gst-plugins-ugly-plugins-a52dec.html
index 7a18dc3..83f6ffa 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-a52dec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-a52dec.html
@@ -85,10 +85,36 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-a52dec.description"></a><h2>Description</h2>
+<p>Dolby Digital (AC-3) audio decoder.</p>
+<div class="refsect2">
+<a name="id-1.2.2.7.3"></a><h3>Example launch line</h3>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> dvdreadsrc title<span class="gtkdoc opt">=</span><span class="number">1</span> <span class="gtkdoc opt">!</span> mpegpsdemux <span class="gtkdoc opt">!</span> a52dec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Play audio part of a dvd title.
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> filesrc location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>ac3 <span class="gtkdoc opt">!</span> ac3parse <span class="gtkdoc opt">!</span> a52dec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Decode and play a stand alone AC-3 file.
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.2.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.2.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -114,7 +140,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.2.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.2.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-amrnbdec.html b/docs/plugins/html/gst-plugins-ugly-plugins-amrnbdec.html
index 19264f4..891afa0 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-amrnbdec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-amrnbdec.html
@@ -73,10 +73,26 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-amrnbdec.description"></a><h2>Description</h2>
+<p>AMR narrowband decoder based on the </p>
+<a class="ulink" href="http://sourceforge.net/projects/opencore-amr" target="_top">opencore codec implementation</a>.
+<div class="refsect2">
+<a name="id-1.2.3.7.4"></a><h3>Example launch line</h3>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> filesrc location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>amr <span class="gtkdoc opt">!</span> amrparse <span class="gtkdoc opt">!</span> amrnbdec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.3.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.3.7.5.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -102,7 +118,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.3.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.3.7.5.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -175,6 +191,10 @@
<p>Default value: IF1</p>
</div>
</div>
+<div class="refsect1">
+<a name="gst-plugins-ugly-plugins-amrnbdec.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="gst-plugins-ugly-plugins-amrnbenc.html#GstAmrnbEnc"><span class="type">GstAmrnbEnc</span></a>, <a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-amrparse.html#GstAmrParse-struct"><span class="type">GstAmrParse</span></a></p>
+</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-amrnbenc.html b/docs/plugins/html/gst-plugins-ugly-plugins-amrnbenc.html
index c544e5d..3a66bc0 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-amrnbenc.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-amrnbenc.html
@@ -80,10 +80,28 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-amrnbenc.description"></a><h2>Description</h2>
+<p>AMR narrowband encoder based on the </p>
+<a class="ulink" href="http://sourceforge.net/projects/opencore-amr" target="_top">opencore codec implementation</a>.
+<div class="refsect2">
+<a name="id-1.2.4.8.4"></a><h3>Example launch line</h3>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> filesrc location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>wav <span class="gtkdoc opt">!</span> wavparse <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> amrnbenc <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>amr</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+Please note that the above stream misses the header, that is needed to play
+the stream.
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.4.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.4.8.5.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -109,7 +127,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.4.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.4.8.5.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -182,6 +200,10 @@
<p>Default value: MR122</p>
</div>
</div>
+<div class="refsect1">
+<a name="gst-plugins-ugly-plugins-amrnbenc.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="gst-plugins-ugly-plugins-amrnbdec.html#GstAmrnbDec"><span class="type">GstAmrnbDec</span></a>, <span class="type">GstAmrnbParse</span></p>
+</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-amrwbdec.html b/docs/plugins/html/gst-plugins-ugly-plugins-amrwbdec.html
index 8d8e154..3ffab5e 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-amrwbdec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-amrwbdec.html
@@ -57,10 +57,26 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-amrwbdec.description"></a><h2>Description</h2>
+<p>AMR wideband decoder based on the </p>
+<a class="ulink" href="http://sourceforge.net/projects/opencore-amr" target="_top">opencore codec implementation</a>.
+<div class="refsect2">
+<a name="id-1.2.5.6.4"></a><h3>Example launch line</h3>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> filesrc location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>amr <span class="gtkdoc opt">!</span> amrparse <span class="gtkdoc opt">!</span> amrwbdec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.5.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.5.6.5.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -86,7 +102,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.5.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.5.6.5.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -147,8 +163,13 @@
<div class="refsect2">
<a name="GstAmrwbDec-struct"></a><h3>struct GstAmrwbDec</h3>
<pre class="programlisting">struct GstAmrwbDec;</pre>
+<p>Opaque data structure.</p>
</div>
</div>
+<div class="refsect1">
+<a name="gst-plugins-ugly-plugins-amrwbdec.see-also"></a><h2>See Also</h2>
+<p><span class="type">GstAmrwbEnc</span></p>
+</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-cdiocddasrc.html b/docs/plugins/html/gst-plugins-ugly-plugins-cdiocddasrc.html
index 5f3415b..6947f2d 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-cdiocddasrc.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-cdiocddasrc.html
@@ -82,10 +82,61 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-cdiocddasrc.description"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id-1.2.6.8.2"></a><h3>Example launch line</h3>
+<p>
+cdiocddasrc reads and extracts raw audio from Audio CDs. It can operate
+in one of two modes:
+</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ treat each track as a separate stream, counting time from the start
+ of the track to the end of the track and posting EOS at the end of
+ a track, or
+ </p></li>
+<li class="listitem"><p>
+ treat the entire disc as one stream, counting time from the start of
+ the first track to the end of the last track, posting EOS only at
+ the end of the last track.
+ </p></li>
+</ul></div>
+<p>
+</p>
+<p>
+With a recent-enough version of libcdio, the element will extract
+CD-TEXT if this is supported by the CD-drive and CD-TEXT information
+is available on the CD. The information will be posted on the bus in
+form of a tag message.
+</p>
+<p>
+When opened, the element will also calculate a CDDB disc ID and a
+MusicBrainz disc ID, which applications can use to query online
+databases for artist/title information. These disc IDs will also be
+posted on the bus as part of the tag messages.
+</p>
+<p>
+cdiocddasrc supports the GstUriHandler interface, so applications can use
+playbin with cdda://<track-number> URIs for playback (they will have
+to connect to playbin's notify::source signal and set the device on the
+cd source in the notify callback if they want to set the device property).
+Applications should use seeks in "track" format to switch between different
+tracks of the same CD (passing a new cdda:// URI to playbin involves opening
+and closing the CD device, which is much slower).
+</p>
+<p>
+</p>
+<pre class="programlisting">
+gst-launch-1.0 cdiocddasrc track=5 device=/dev/cdrom ! audioconvert ! vorbisenc ! oggmux ! filesink location=track5.ogg
+</pre>
+<p>
+This pipeline extracts track 5 of the audio CD and encodes it into an
+Ogg/Vorbis file.
+</p>
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.6.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.6.8.3.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -111,7 +162,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.6.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.6.8.3.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -161,6 +212,10 @@
<p>Default value: -1</p>
</div>
</div>
+<div class="refsect1">
+<a name="gst-plugins-ugly-plugins-cdiocddasrc.see-also"></a><h2>See Also</h2>
+<p>GstCdParanoiaSrc, GstAudioCdSrc</p>
+</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-lamemp3enc.html b/docs/plugins/html/gst-plugins-ugly-plugins-lamemp3enc.html
index 701fc5d..338c12c 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-lamemp3enc.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-lamemp3enc.html
@@ -107,10 +107,82 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-lamemp3enc.description"></a><h2>Description</h2>
+<p>This element encodes raw integer audio into an MPEG-1 layer 3 (MP3) stream.
+Note that <a class="ulink" href="http://en.wikipedia.org/wiki/MP3" target="_top">MP3</a> is not
+a free format, there are licensing and patent issues to take into
+consideration. See <a class="ulink" href="http://www.vorbis.com/" target="_top">Ogg/Vorbis</a>
+for a royalty free (and often higher quality) alternative.</p>
+<div class="refsect2">
+<a name="id-1.2.7.8.3"></a><h3>Output sample rate</h3>
+If no fixed output sample rate is negotiated on the element's src pad,
+the element will choose an optimal sample rate to resample to internally.
+For example, a 16-bit 44.1 KHz mono audio stream encoded at 48 kbit will
+get resampled to 32 KHz. Use filter caps on the src pad to force a
+particular sample rate.
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.7.8.4"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v audiotestsrc wave<span class="gtkdoc opt">=</span>sine num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> lamemp3enc <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>sine<span class="gtkdoc opt">.</span>mp3</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Encode a test sine signal to MP3.
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v autoaudiosrc <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> lamemp3enc target<span class="gtkdoc opt">=</span>bitrate bitrate<span class="gtkdoc opt">=</span><span class="number">192</span> <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>alsasrc<span class="gtkdoc opt">.</span>mp3</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Record from a sound card using ALSA and encode to MP3 with an average bitrate of 192kbps
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>music<span class="gtkdoc opt">.</span>wav <span class="gtkdoc opt">!</span> decodebin <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> lamemp3enc target<span class="gtkdoc opt">=</span>quality quality<span class="gtkdoc opt">=</span><span class="number">0</span> <span class="gtkdoc opt">!</span> id3v2mux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>music<span class="gtkdoc opt">.</span>mp3</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Transcode from a .wav file to MP3 (the id3v2mux element is optional) with best VBR quality
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v cdda<span class="gtkdoc opt">:</span><span class="gtkdoc slc">//5 ! audioconvert ! lamemp3enc target=bitrate cbr=true bitrate=192 ! filesink location=track5.mp3</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Encode Audio CD track 5 to MP3 with a constant bitrate of 192kbps
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v audiotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">10</span> <span class="gtkdoc opt">!</span> audio<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>rate<span class="gtkdoc opt">=</span><span class="number">44100</span><span class="gtkdoc opt">,</span>channels<span class="gtkdoc opt">=</span><span class="number">1</span> <span class="gtkdoc opt">!</span> lamemp3enc target<span class="gtkdoc opt">=</span>bitrate cbr<span class="gtkdoc opt">=</span><span class="keyword">true</span> bitrate<span class="gtkdoc opt">=</span><span class="number">48</span> <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>test<span class="gtkdoc opt">.</span>mp3</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Encode to a fixed sample rate
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.7.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.7.8.5.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -136,7 +208,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.7.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.7.8.5.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -201,6 +273,7 @@
<div class="refsect2">
<a name="GstLameMP3Enc-struct"></a><h3>struct GstLameMP3Enc</h3>
<pre class="programlisting">struct GstLameMP3Enc;</pre>
+<p>Opaque data structure.</p>
</div>
</div>
<div class="refsect1">
@@ -255,6 +328,10 @@
<p>Default value: Quality</p>
</div>
</div>
+<div class="refsect1">
+<a name="gst-plugins-ugly-plugins-lamemp3enc.see-also"></a><h2>See Also</h2>
+<p>lame, mad, vorbisenc</p>
+</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-mad.html b/docs/plugins/html/gst-plugins-ugly-plugins-mad.html
index 67642da..b8cb0a0 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-mad.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-mad.html
@@ -80,10 +80,32 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-mad.description"></a><h2>Description</h2>
+<p>MP3 audio decoder. Note that while the mad plugin code is licensed under
+the LGPL, the libmad library itself is GPL licensed, so the effective
+runtime license of using the mad element is GPL.</p>
+<p>The mpg123audiodec and avdec_mp3 decoder elements are LGPL licensed and
+also tend to use less CPU for decoding.</p>
+<p>In general it doesn't matter which MP3 decoder you use, the main advantage
+of the mad decoder is that it also supports so-called 'freeform' mp3s which
+are mp3s with a bitrate higher than what the standard usually allows.</p>
+<div class="refsect2">
+<a name="id-1.2.8.7.5"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> filesrc location<span class="gtkdoc opt">=</span>music<span class="gtkdoc opt">.</span>mp3 <span class="gtkdoc opt">!</span> mpegaudioparse <span class="gtkdoc opt">!</span> mad <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Decode and play an mp3 file
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.8.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.8.7.6.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -109,7 +131,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.8.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.8.7.6.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -190,6 +212,10 @@
<p>Default value: TRUE</p>
</div>
</div>
+<div class="refsect1">
+<a name="gst-plugins-ugly-plugins-mad.see-also"></a><h2>See Also</h2>
+<p>lame</p>
+</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-mpg123audiodec.html b/docs/plugins/html/gst-plugins-ugly-plugins-mpg123audiodec.html
index d965f2c..de77d3a 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-mpg123audiodec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-mpg123audiodec.html
@@ -57,10 +57,25 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-mpg123audiodec.description"></a><h2>Description</h2>
+<p>Audio decoder for MPEG-1 layer 1/2/3 audio data.</p>
+<div class="refsect2">
+<a name="id-1.2.9.6.3"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> filesrc location<span class="gtkdoc opt">=</span>music<span class="gtkdoc opt">.</span>mp3 <span class="gtkdoc opt">!</span> mpegaudioparse <span class="gtkdoc opt">!</span> mpg123audiodec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Decode and play the mp3 file
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.9.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.9.6.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -86,7 +101,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.9.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.9.6.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -149,6 +164,10 @@
<pre class="programlisting">struct GstMpg123AudioDec;</pre>
</div>
</div>
+<div class="refsect1">
+<a name="gst-plugins-ugly-plugins-mpg123audiodec.see-also"></a><h2>See Also</h2>
+<p>lamemp3enc, mad</p>
+</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-a52dec.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-a52dec.html
index ee55651..3f98fdf 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-a52dec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-a52dec.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrnb.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrnb.html
index ae4e946..cdfa422 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrnb.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrnb.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrwbdec.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrwbdec.html
index b32b664..2536254 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrwbdec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrwbdec.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-asf.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-asf.html
index a008aa3..3429369 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-asf.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-asf.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-cdio.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-cdio.html
index 08b2f61..4082226 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-cdio.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-cdio.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdlpcmdec.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdlpcmdec.html
index 8ed1796..f343230 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdlpcmdec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdlpcmdec.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdread.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdread.html
index a91eb8d..0cec27c 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdread.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdread.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdsub.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdsub.html
index 934ae0d..f6c5245 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdsub.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdsub.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-lame.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-lame.html
index a8cac1e..66e3c0d 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-lame.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-lame.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mad.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mad.html
index f9208a2..a1379ee 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mad.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mad.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpeg2dec.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpeg2dec.html
index c1c87fa..2a413c8 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpeg2dec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpeg2dec.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpg123.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpg123.html
index b66d740..f1b9500 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpg123.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpg123.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-realmedia.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-realmedia.html
index 49b0b08..316ce97 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-realmedia.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-realmedia.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-siddec.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-siddec.html
index 58f715c..6cb9b37 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-siddec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-siddec.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-twolame.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-twolame.html
index 384b140..dea79f4 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-twolame.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-twolame.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-x264.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-x264.html
index 5d283bb..5d95984 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-x264.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-x264.html
@@ -41,7 +41,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.8.3</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-siddec.html b/docs/plugins/html/gst-plugins-ugly-plugins-siddec.html
index 17237a0..a8b9b0f 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-siddec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-siddec.html
@@ -115,10 +115,30 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-siddec.description"></a><h2>Description</h2>
+<p>This element decodes .sid files to raw audio. .sid files are in fact
+small Commodore 64 programs that are executed on an emulated 6502 CPU and a
+MOS 6581 sound chip.</p>
+<p>This plugin will first load the complete program into memory before starting
+the emulator and producing output.</p>
+<p>Seeking is not (and cannot be) implemented.</p>
+<div class="refsect2">
+<a name="id-1.2.15.7.5"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>Hawkeye<span class="gtkdoc opt">.</span>sid <span class="gtkdoc opt">!</span> siddec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ Decode a sid file and play it back.
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.15.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.15.7.6.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -144,7 +164,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.15.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.15.7.6.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-twolame.html b/docs/plugins/html/gst-plugins-ugly-plugins-twolame.html
index 42db212..e5c9303 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-twolame.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-twolame.html
@@ -246,6 +246,7 @@
<div class="refsect2">
<a name="GstTwoLame-struct"></a><h3>struct GstTwoLame</h3>
<pre class="programlisting">struct GstTwoLame;</pre>
+<p>Opaque data structure.</p>
</div>
</div>
<div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-x264enc.html b/docs/plugins/html/gst-plugins-ugly-plugins-x264enc.html
index adeca37..ba053dc 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-x264enc.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-x264enc.html
@@ -280,10 +280,110 @@
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.description"></a><h2>Description</h2>
+<p>This element encodes raw video into H264 compressed data,
+also otherwise known as MPEG-4 AVC (Advanced Video Codec).</p>
+<p>The <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--pass" title="The “pass” property"><span class="type">“pass”</span></a> property controls the type of encoding. In case of Constant
+Bitrate Encoding (actually ABR), the <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--bitrate" title="The “bitrate” property"><span class="type">“bitrate”</span></a> will determine the quality
+of the encoding. This will similarly be the case if this target bitrate
+is to obtained in multiple (2 or 3) pass encoding.
+Alternatively, one may choose to perform Constant Quantizer or Quality encoding,
+in which case the <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--quantizer" title="The “quantizer” property"><span class="type">“quantizer”</span></a> property controls much of the outcome, in that case <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--bitrate" title="The “bitrate” property"><span class="type">“bitrate”</span></a> is the maximum bitrate.</p>
+<p>The H264 profile that is eventually used depends on a few settings.
+If <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--dct8x8" title="The “dct8x8” property"><span class="type">“dct8x8”</span></a> is enabled, then High profile is used.
+Otherwise, if <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--cabac" title="The “cabac” property"><span class="type">“cabac”</span></a> entropy coding is enabled or <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--bframes" title="The “bframes” property"><span class="type">“bframes”</span></a>
+are allowed, then Main Profile is in effect, and otherwise Baseline profile
+applies. The high profile is imposed by default,
+which is fine for most software players and settings,
+but in some cases (e.g. hardware platforms) a more restricted profile/level
+may be necessary. The recommended way to set a profile is to set it in the
+downstream caps.</p>
+<p>If a preset/tuning are specified then these will define the default values and
+the property defaults will be ignored. After this the option-string property is
+applied, followed by the user-set properties, fast first pass restrictions and
+finally the profile restrictions.</p>
+<div class="note">Some settings, including the default settings, may lead to quite
+some latency (i.e. frame buffering) in the encoder. This may cause problems
+with pipeline stalling in non-trivial pipelines, because the encoder latency
+is often considerably higher than the default size of a simple queue
+element. Such problems are caused by one of the queues in the other
+non-x264enc streams/branches filling up and blocking upstream. They can
+be fixed by relaxing the default time/size/buffer limits on the queue
+elements in the non-x264 branches, or using a (single) multiqueue element
+for all branches. Also see the last example below. You can also work around
+this problem by setting the tune=zerolatency property, but this will affect
+overall encoding quality so may not be appropriate for your use case.
+</div>
+<div class="refsect2">
+<a name="id-1.2.17.8.7"></a><h3>Example pipeline</h3>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> x264enc qp<span class="gtkdoc opt">-</span>min<span class="gtkdoc opt">=</span><span class="number">18</span> <span class="gtkdoc opt">!</span> \
+ avimux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>avi</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ This example pipeline will encode a test video source to H264 muxed in an
+AVI container, while ensuring a sane minimum quantization factor to avoid
+some (excessive) waste. You should ideally never put H264 into an AVI
+container (or really anything else, for that matter) - use Matroska or
+MP4/QuickTime or MPEG-TS instead.
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> x264enc pass<span class="gtkdoc opt">=</span>quant <span class="gtkdoc opt">!</span> \
+ matroskamux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>mkv</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ This example pipeline will encode a test video source to H264 using fixed
+quantization, and muxes it in a Matroska container.
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> x264enc pass<span class="gtkdoc opt">=</span><span class="number">5</span> quantizer<span class="gtkdoc opt">=</span><span class="number">25</span> speed<span class="gtkdoc opt">-</span>preset<span class="gtkdoc opt">=</span><span class="number">6</span> <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>h264<span class="gtkdoc opt">,</span> profile<span class="gtkdoc opt">=</span>baseline <span class="gtkdoc opt">!</span> \
+ qtmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>mov</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ This example pipeline will encode a test video source to H264 using
+constant quality at around Q25 using the 'medium' speed/quality preset and
+restricting the options used so that the output is H.264 Baseline Profile
+compliant and finally multiplexing the output in Quicktime mov format.
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2</pre></td>
+ <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> tee name<span class="gtkdoc opt">=</span>t <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink \
+ t<span class="gtkdoc opt">. !</span> queue <span class="gtkdoc opt">!</span> x264enc rc<span class="gtkdoc opt">-</span>lookahead<span class="gtkdoc opt">=</span><span class="number">5</span> <span class="gtkdoc opt">!</span> fakesink</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+ This example pipeline will encode a test video source to H264 while
+displaying the input material at the same time. As mentioned above,
+specific settings are needed in this case to avoid pipeline stalling.
+Depending on goals and context, other approaches are possible, e.g.
+tune=zerolatency might be configured, or queue sizes increased.
+</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.17.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.17.8.8.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -309,7 +409,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.17.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.17.8.8.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -709,6 +809,10 @@
<p>Default value: Automatic (use incoming video information)</p>
</div>
</div>
+<div class="refsect1">
+<a name="gst-plugins-ugly-plugins-x264enc.see-also"></a><h2>See Also</h2>
+<p>faac</p>
+</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 23b9fd4..152de59 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 Ugly Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Ugly Plugins 1.0 (1.8.3)
+ for GStreamer Ugly Plugins 1.0 (1.9.90)
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-ugly/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-ugly/html/</a>.
</p></div>
diff --git a/docs/plugins/inspect/plugin-a52dec.xml b/docs/plugins/inspect/plugin-a52dec.xml
index c9542d3..b0843dd 100644
--- a/docs/plugins/inspect/plugin-a52dec.xml
+++ b/docs/plugins/inspect/plugin-a52dec.xml
@@ -3,7 +3,7 @@
<description>Decodes ATSC A/52 encoded audio streams</description>
<filename>../../ext/a52dec/.libs/libgsta52dec.so</filename>
<basename>libgsta52dec.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-amrnb.xml b/docs/plugins/inspect/plugin-amrnb.xml
index 03d62f8..70c961a 100644
--- a/docs/plugins/inspect/plugin-amrnb.xml
+++ b/docs/plugins/inspect/plugin-amrnb.xml
@@ -3,7 +3,7 @@
<description>Adaptive Multi-Rate Narrow-Band</description>
<filename>../../ext/amrnb/.libs/libgstamrnb.so</filename>
<basename>libgstamrnb.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>unknown</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-amrwbdec.xml b/docs/plugins/inspect/plugin-amrwbdec.xml
index debf9a9..225b5d9 100644
--- a/docs/plugins/inspect/plugin-amrwbdec.xml
+++ b/docs/plugins/inspect/plugin-amrwbdec.xml
@@ -3,7 +3,7 @@
<description>Adaptive Multi-Rate Wide-Band Decoder</description>
<filename>../../ext/amrwbdec/.libs/libgstamrwbdec.so</filename>
<basename>libgstamrwbdec.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>unknown</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-asf.xml b/docs/plugins/inspect/plugin-asf.xml
index 8ea2426..82a3693 100644
--- a/docs/plugins/inspect/plugin-asf.xml
+++ b/docs/plugins/inspect/plugin-asf.xml
@@ -3,7 +3,7 @@
<description>Demuxes and muxes audio and video in Microsofts ASF format</description>
<filename>../../gst/asfdemux/.libs/libgstasf.so</filename>
<basename>libgstasf.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cdio.xml b/docs/plugins/inspect/plugin-cdio.xml
index 33646ff..23fdee8 100644
--- a/docs/plugins/inspect/plugin-cdio.xml
+++ b/docs/plugins/inspect/plugin-cdio.xml
@@ -3,7 +3,7 @@
<description>Read audio from audio CDs</description>
<filename>../../ext/cdio/.libs/libgstcdio.so</filename>
<basename>libgstcdio.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvdlpcmdec.xml b/docs/plugins/inspect/plugin-dvdlpcmdec.xml
index e534d13..3d23add 100644
--- a/docs/plugins/inspect/plugin-dvdlpcmdec.xml
+++ b/docs/plugins/inspect/plugin-dvdlpcmdec.xml
@@ -3,7 +3,7 @@
<description>Decode DVD LPCM frames into standard PCM</description>
<filename>../../gst/dvdlpcmdec/.libs/libgstdvdlpcmdec.so</filename>
<basename>libgstdvdlpcmdec.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
@@ -20,7 +20,7 @@
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
- <details>audio/x-private1-lpcm; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 32000, 44100, 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ true, false }, mute=(boolean){ true, false }</details>
+ <details>audio/x-private1-lpcm; audio/x-private2-lpcm; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 32000, 44100, 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ true, false }, mute=(boolean){ true, false }</details>
</caps>
<caps>
<name>src</name>
diff --git a/docs/plugins/inspect/plugin-dvdread.xml b/docs/plugins/inspect/plugin-dvdread.xml
index f02def9..9a9da6b 100644
--- a/docs/plugins/inspect/plugin-dvdread.xml
+++ b/docs/plugins/inspect/plugin-dvdread.xml
@@ -3,7 +3,7 @@
<description>Access a DVD with dvdread</description>
<filename>../../ext/dvdread/.libs/libgstdvdread.so</filename>
<basename>libgstdvdread.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvdsub.xml b/docs/plugins/inspect/plugin-dvdsub.xml
index 078cbca..efb0fb6 100644
--- a/docs/plugins/inspect/plugin-dvdsub.xml
+++ b/docs/plugins/inspect/plugin-dvdsub.xml
@@ -3,7 +3,7 @@
<description>DVD subtitle parser and decoder</description>
<filename>../../gst/dvdsub/.libs/libgstdvdsub.so</filename>
<basename>libgstdvdsub.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-lame.xml b/docs/plugins/inspect/plugin-lame.xml
index d745521..d6a2137 100644
--- a/docs/plugins/inspect/plugin-lame.xml
+++ b/docs/plugins/inspect/plugin-lame.xml
@@ -3,7 +3,7 @@
<description>Encode MP3s with LAME</description>
<filename>../../ext/lame/.libs/libgstlame.so</filename>
<basename>libgstlame.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mad.xml b/docs/plugins/inspect/plugin-mad.xml
index e372097..f58e7ba 100644
--- a/docs/plugins/inspect/plugin-mad.xml
+++ b/docs/plugins/inspect/plugin-mad.xml
@@ -3,7 +3,7 @@
<description>mp3 decoding based on the mad library</description>
<filename>../../ext/mad/.libs/libgstmad.so</filename>
<basename>libgstmad.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpeg2dec.xml b/docs/plugins/inspect/plugin-mpeg2dec.xml
index 4788a8b..5bf08c9 100644
--- a/docs/plugins/inspect/plugin-mpeg2dec.xml
+++ b/docs/plugins/inspect/plugin-mpeg2dec.xml
@@ -3,7 +3,7 @@
<description>LibMpeg2 decoder</description>
<filename>../../ext/mpeg2dec/.libs/libgstmpeg2dec.so</filename>
<basename>libgstmpeg2dec.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpg123.xml b/docs/plugins/inspect/plugin-mpg123.xml
index 4f61e2b..ff41f0f 100644
--- a/docs/plugins/inspect/plugin-mpg123.xml
+++ b/docs/plugins/inspect/plugin-mpg123.xml
@@ -3,7 +3,7 @@
<description>mp3 decoding based on the mpg123 library</description>
<filename>../../ext/mpg123/.libs/libgstmpg123.so</filename>
<basename>libgstmpg123.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-realmedia.xml b/docs/plugins/inspect/plugin-realmedia.xml
index 11da1c4..35fb844 100644
--- a/docs/plugins/inspect/plugin-realmedia.xml
+++ b/docs/plugins/inspect/plugin-realmedia.xml
@@ -3,7 +3,7 @@
<description>RealMedia support plugins</description>
<filename>../../gst/realmedia/.libs/libgstrmdemux.so</filename>
<basename>libgstrmdemux.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-siddec.xml b/docs/plugins/inspect/plugin-siddec.xml
index 9e0f6e9..bedc6cc 100644
--- a/docs/plugins/inspect/plugin-siddec.xml
+++ b/docs/plugins/inspect/plugin-siddec.xml
@@ -3,7 +3,7 @@
<description>Uses libsidplay to decode .sid files</description>
<filename>../../ext/sidplay/.libs/libgstsid.so</filename>
<basename>libgstsid.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-twolame.xml b/docs/plugins/inspect/plugin-twolame.xml
index 55ead55..21acede 100644
--- a/docs/plugins/inspect/plugin-twolame.xml
+++ b/docs/plugins/inspect/plugin-twolame.xml
@@ -3,7 +3,7 @@
<description>Encode MP2s with TwoLAME</description>
<filename>../../ext/twolame/.libs/libgsttwolame.so</filename>
<basename>libgsttwolame.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-x264.xml b/docs/plugins/inspect/plugin-x264.xml
index 9651da2..88ee619 100644
--- a/docs/plugins/inspect/plugin-x264.xml
+++ b/docs/plugins/inspect/plugin-x264.xml
@@ -3,7 +3,7 @@
<description>libx264-based H264 plugins</description>
<filename>../../ext/x264/.libs/libgstx264.so</filename>
<basename>libgstx264.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-xingmux.xml b/docs/plugins/inspect/plugin-xingmux.xml
index 31aee35..46452f3 100644
--- a/docs/plugins/inspect/plugin-xingmux.xml
+++ b/docs/plugins/inspect/plugin-xingmux.xml
@@ -3,7 +3,7 @@
<description>Add XING tags to mpeg audio files</description>
<filename>../../gst/xingmux/.libs/libgstxingmux.so</filename>
<basename>libgstxingmux.so</basename>
- <version>1.8.3</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-ugly</source>
<package>GStreamer Ugly Plug-ins source release</package>
diff --git a/ext/a52dec/gsta52dec.c b/ext/a52dec/gsta52dec.c
index c78cfeb..eabf152 100644
--- a/ext/a52dec/gsta52dec.c
+++ b/ext/a52dec/gsta52dec.c
@@ -38,9 +38,10 @@
#endif
#include <string.h>
-
#include <stdlib.h>
-#include "_stdint.h"
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
#include <gst/gst.h>
@@ -97,8 +98,8 @@
static gboolean gst_a52dec_start (GstAudioDecoder * dec);
static gboolean gst_a52dec_stop (GstAudioDecoder * dec);
static gboolean gst_a52dec_set_format (GstAudioDecoder * bdec, GstCaps * caps);
-static gboolean gst_a52dec_parse (GstAudioDecoder * dec, GstAdapter * adapter,
- gint * offset, gint * length);
+static GstFlowReturn gst_a52dec_parse (GstAudioDecoder * dec,
+ GstAdapter * adapter, gint * offset, gint * length);
static GstFlowReturn gst_a52dec_handle_frame (GstAudioDecoder * dec,
GstBuffer * buffer);
@@ -185,10 +186,8 @@
g_param_spec_boolean ("lfe", "LFE", "LFE", TRUE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&sink_factory));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&src_factory));
+ gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
+ gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
gst_element_class_set_static_metadata (gstelement_class,
"ATSC A/52 audio decoder", "Codec/Decoder/Audio",
"Decodes ATSC A/52 encoded audio streams",
diff --git a/ext/amrnb/amrnbdec.c b/ext/amrnb/amrnbdec.c
index 894c085..653f1c5 100644
--- a/ext/amrnb/amrnbdec.c
+++ b/ext/amrnb/amrnbdec.c
@@ -96,8 +96,8 @@
static gboolean gst_amrnbdec_start (GstAudioDecoder * dec);
static gboolean gst_amrnbdec_stop (GstAudioDecoder * dec);
static gboolean gst_amrnbdec_set_format (GstAudioDecoder * dec, GstCaps * caps);
-static gboolean gst_amrnbdec_parse (GstAudioDecoder * dec, GstAdapter * adapter,
- gint * offset, gint * length);
+static GstFlowReturn gst_amrnbdec_parse (GstAudioDecoder * dec,
+ GstAdapter * adapter, gint * offset, gint * length);
static GstFlowReturn gst_amrnbdec_handle_frame (GstAudioDecoder * dec,
GstBuffer * buffer);
@@ -114,10 +114,8 @@
object_class->set_property = gst_amrnbdec_set_property;
object_class->get_property = gst_amrnbdec_get_property;
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&sink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &sink_template);
+ gst_element_class_add_static_pad_template (element_class, &src_template);
gst_element_class_set_static_metadata (element_class, "AMR-NB audio decoder",
"Codec/Decoder/Audio",
diff --git a/ext/amrnb/amrnbenc.c b/ext/amrnb/amrnbenc.c
index 207b5dd..2f72b9f 100644
--- a/ext/amrnb/amrnbenc.c
+++ b/ext/amrnb/amrnbenc.c
@@ -154,10 +154,8 @@
BANDMODE_DEFAULT,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&sink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &sink_template);
+ gst_element_class_add_static_pad_template (element_class, &src_template);
gst_element_class_set_static_metadata (element_class, "AMR-NB audio encoder",
"Codec/Encoder/Audio",
diff --git a/ext/amrwbdec/amrwbdec.c b/ext/amrwbdec/amrwbdec.c
index 6cbce45..f90b7b7 100644
--- a/ext/amrwbdec/amrwbdec.c
+++ b/ext/amrwbdec/amrwbdec.c
@@ -69,8 +69,8 @@
static gboolean gst_amrwbdec_start (GstAudioDecoder * dec);
static gboolean gst_amrwbdec_stop (GstAudioDecoder * dec);
static gboolean gst_amrwbdec_set_format (GstAudioDecoder * dec, GstCaps * caps);
-static gboolean gst_amrwbdec_parse (GstAudioDecoder * dec, GstAdapter * adapter,
- gint * offset, gint * length);
+static GstFlowReturn gst_amrwbdec_parse (GstAudioDecoder * dec,
+ GstAdapter * adapter, gint * offset, gint * length);
static GstFlowReturn gst_amrwbdec_handle_frame (GstAudioDecoder * dec,
GstBuffer * buffer);
@@ -83,10 +83,8 @@
GstAudioDecoderClass *base_class = GST_AUDIO_DECODER_CLASS (klass);
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&sink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &sink_template);
+ gst_element_class_add_static_pad_template (element_class, &src_template);
gst_element_class_set_static_metadata (element_class, "AMR-WB audio decoder",
"Codec/Decoder/Audio",
diff --git a/ext/dvdread/dvdreadsrc.c b/ext/dvdread/dvdreadsrc.c
index 65ba58f..5df2637 100644
--- a/ext/dvdread/dvdreadsrc.c
+++ b/ext/dvdread/dvdreadsrc.c
@@ -23,11 +23,12 @@
#include "config.h"
#endif
-#include "_stdint.h"
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
#include <string.h>
#include <errno.h>
@@ -163,8 +164,7 @@
g_param_spec_int ("angle", "angle", "angle",
1, 999, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&srctemplate));
+ gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
gst_element_class_set_static_metadata (gstelement_class, "DVD Source",
"Source/File/DVD",
diff --git a/ext/lame/gstlamemp3enc.c b/ext/lame/gstlamemp3enc.c
index 43b63ff..a4a637a 100644
--- a/ext/lame/gstlamemp3enc.c
+++ b/ext/lame/gstlamemp3enc.c
@@ -228,10 +228,10 @@
gobject_class->get_property = gst_lamemp3enc_get_property;
gobject_class->finalize = gst_lamemp3enc_finalize;
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_lamemp3enc_src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_lamemp3enc_sink_template));
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_lamemp3enc_src_template);
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_lamemp3enc_sink_template);
gst_element_class_set_static_metadata (gstelement_class,
"L.A.M.E. mp3 encoder", "Codec/Encoder/Audio",
diff --git a/ext/mad/gstmad.c b/ext/mad/gstmad.c
index 93337d2..55899a5 100644
--- a/ext/mad/gstmad.c
+++ b/ext/mad/gstmad.c
@@ -85,8 +85,8 @@
static gboolean gst_mad_start (GstAudioDecoder * dec);
static gboolean gst_mad_stop (GstAudioDecoder * dec);
-static gboolean gst_mad_parse (GstAudioDecoder * dec, GstAdapter * adapter,
- gint * offset, gint * length);
+static GstFlowReturn gst_mad_parse (GstAudioDecoder * dec,
+ GstAdapter * adapter, gint * offset, gint * length);
static GstFlowReturn gst_mad_handle_frame (GstAudioDecoder * dec,
GstBuffer * buffer);
static void gst_mad_flush (GstAudioDecoder * dec, gboolean hard);
@@ -120,10 +120,10 @@
g_param_spec_boolean ("ignore-crc", "Ignore CRC", "Ignore CRC errors",
TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&mad_sink_template_factory));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&mad_src_template_factory));
+ gst_element_class_add_static_pad_template (element_class,
+ &mad_sink_template_factory);
+ gst_element_class_add_static_pad_template (element_class,
+ &mad_src_template_factory);
gst_element_class_set_static_metadata (element_class, "mad mp3 decoder",
"Codec/Decoder/Audio",
diff --git a/ext/mpeg2dec/gstmpeg2dec.c b/ext/mpeg2dec/gstmpeg2dec.c
index 069394e..137c7ea 100644
--- a/ext/mpeg2dec/gstmpeg2dec.c
+++ b/ext/mpeg2dec/gstmpeg2dec.c
@@ -32,19 +32,6 @@
/* 16byte-aligns a buffer for libmpeg2 */
#define ALIGN_16(p) ((void *)(((uintptr_t)(p) + 15) & ~((uintptr_t)15)))
-/* mpeg2dec changed a struct name after 0.3.1, here's a workaround */
-/* mpeg2dec also only defined MPEG2_RELEASE after 0.3.1
- #if MPEG2_RELEASE < MPEG2_VERSION(0,3,2)
-*/
-#ifndef MPEG2_RELEASE
-#define MPEG2_VERSION(a,b,c) ((((a)&0xff)<<16)|(((b)&0xff)<<8)|((c)&0xff))
-#define MPEG2_RELEASE MPEG2_VERSION(0,3,1)
-typedef picture_t mpeg2_picture_t;
-typedef gint mpeg2_state_t;
-
-#define STATE_BUFFER 0
-#endif
-
GST_DEBUG_CATEGORY_STATIC (mpeg2dec_debug);
#define GST_CAT_DEFAULT mpeg2dec_debug
GST_DEBUG_CATEGORY_STATIC (CAT_PERFORMANCE);
@@ -105,10 +92,10 @@
gobject_class->finalize = gst_mpeg2dec_finalize;
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template_factory));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&sink_template_factory));
+ gst_element_class_add_static_pad_template (element_class,
+ &src_template_factory);
+ gst_element_class_add_static_pad_template (element_class,
+ &sink_template_factory);
gst_element_class_set_static_metadata (element_class,
"mpeg1 and mpeg2 video decoder", "Codec/Decoder/Video",
"Uses libmpeg2 to decode MPEG video streams",
@@ -700,16 +687,12 @@
if (GST_VIDEO_INFO_PAR_N (vinfo) == 1 &&
GST_VIDEO_INFO_PAR_D (vinfo) == 1 &&
sequence->pixel_width != 0 && sequence->pixel_height != 0) {
-#if MPEG2_RELEASE >= MPEG2_VERSION(0,5,0)
guint pixel_width, pixel_height;
+
if (mpeg2_guess_aspect (sequence, &pixel_width, &pixel_height)) {
vinfo->par_n = pixel_width;
vinfo->par_d = pixel_height;
}
-#else
- vinfo->par_n = sequence->pixel_width;
- vinfo->par_d = sequence->pixel_height;
-#endif
GST_DEBUG_OBJECT (mpeg2dec, "Setting PAR %d x %d",
vinfo->par_n, vinfo->par_d);
}
@@ -926,12 +909,9 @@
GST_BUFFER_FLAG_SET (frame->output_buffer,
GST_VIDEO_BUFFER_FLAG_INTERLACED);
}
-#if MPEG2_RELEASE >= MPEG2_VERSION(0,5,0)
- /* repeat field introduced in 0.5.0 */
if (picture->flags & PIC_FLAG_REPEAT_FIRST_FIELD) {
GST_BUFFER_FLAG_SET (frame->output_buffer, GST_VIDEO_BUFFER_FLAG_RFF);
}
-#endif
}
if (mpeg2dec->discont_state == MPEG2DEC_DISC_NEW_PICTURE && key_frame) {
@@ -943,11 +923,7 @@
GST_TIME_FORMAT,
(picture->flags & PIC_FLAG_PROGRESSIVE_FRAME ? "prog" : " "),
(picture->flags & PIC_FLAG_TOP_FIELD_FIRST ? "tff" : " "),
-#if MPEG2_RELEASE >= MPEG2_VERSION(0,5,0)
(picture->flags & PIC_FLAG_REPEAT_FIRST_FIELD ? "rff" : " "),
-#else
- "unknown rff",
-#endif
(picture->flags & PIC_FLAG_SKIP ? "skip" : " "),
(picture->flags & PIC_FLAG_COMPOSITE_DISPLAY ? "composite" : " "),
picture->nb_fields, GST_TIME_ARGS (frame->pts));
@@ -1095,13 +1071,11 @@
GST_DEBUG_OBJECT (mpeg2dec, "parse state %d", state);
switch (state) {
-#if MPEG2_RELEASE >= MPEG2_VERSION (0, 5, 0)
case STATE_SEQUENCE_MODIFIED:
GST_DEBUG_OBJECT (mpeg2dec, "sequence modified");
mpeg2dec->discont_state = MPEG2DEC_DISC_NEW_PICTURE;
gst_mpeg2dec_clear_buffers (mpeg2dec);
/* fall through */
-#endif
case STATE_SEQUENCE:
ret = handle_sequence (mpeg2dec, info);
/* if there is an error handling the sequence
@@ -1132,10 +1106,8 @@
GST_LOG_OBJECT (mpeg2dec,
"Second picture header encountered. Decoding 2nd field");
break;
-#if MPEG2_RELEASE >= MPEG2_VERSION (0, 4, 0)
case STATE_INVALID_END:
GST_DEBUG_OBJECT (mpeg2dec, "invalid end");
-#endif
case STATE_END:
GST_DEBUG_OBJECT (mpeg2dec, "end");
case STATE_SLICE:
diff --git a/ext/mpg123/gstmpg123audiodec.h b/ext/mpg123/gstmpg123audiodec.h
index e837a56..b865c41 100644
--- a/ext/mpg123/gstmpg123audiodec.h
+++ b/ext/mpg123/gstmpg123audiodec.h
@@ -19,6 +19,18 @@
#ifndef __GST_MPG123_AUDIO_DEC_H__
#define __GST_MPG123_AUDIO_DEC_H__
+/* This is what the visual studio build in mpg123 does before including the
+ * original header file. Without this we get syntax errors in the
+ * replace_reader function declarations because it doesn't know ssize_t etc.
+ * It doesn't realy matter for us if the ssize_t typedef here is correct. */
+#ifdef _MSC_VER
+#include <tchar.h>
+#include <stdlib.h>
+#include <sys/types.h>
+typedef long ssize_t;
+#include <stdint.h>
+#endif
+
#include <gst/gst.h>
#include <gst/audio/gstaudiodecoder.h>
#include <mpg123.h>
diff --git a/ext/sidplay/gstsiddec.cc b/ext/sidplay/gstsiddec.cc
index f06ed9f..d09259d 100644
--- a/ext/sidplay/gstsiddec.cc
+++ b/ext/sidplay/gstsiddec.cc
@@ -21,15 +21,15 @@
/**
* SECTION:element-siddec
*
- * This element decodes .sid files to raw audio. .sid files are in fact
- * small Commodore 64 programs that are executed on an emulated 6502 CPU and a
+ * This element decodes .sid files to raw audio. .sid files are in fact
+ * small Commodore 64 programs that are executed on an emulated 6502 CPU and a
* MOS 6581 sound chip.
- *
+ *
* This plugin will first load the complete program into memory before starting
* the emulator and producing output.
- *
+ *
* Seeking is not (and cannot be) implemented.
- *
+ *
* <refsect2>
* <title>Example pipelines</title>
* |[
@@ -198,10 +198,8 @@
"Codec/Decoder/Audio", "Use libsidplay to decode SID audio tunes",
"Wim Taymans <wim.taymans@gmail.com>");
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&src_templ));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&sink_templ));
+ gst_element_class_add_static_pad_template (gstelement_class, &src_templ);
+ gst_element_class_add_static_pad_template (gstelement_class, &sink_templ);
GST_DEBUG_CATEGORY_INIT (gst_siddec_debug, "siddec", 0,
"C64 sid song player");
@@ -396,7 +394,7 @@
GstSidDec *siddec;
GstBuffer *out;
GstMapInfo outmap;
- gint64 value, offset, time;
+ gint64 value, offset, time = 0;
GstFormat format;
siddec = GST_SIDDEC (gst_pad_get_parent (pad));
@@ -410,29 +408,29 @@
/* get offset in samples */
format = GST_FORMAT_DEFAULT;
- gst_siddec_src_convert (siddec->srcpad,
- GST_FORMAT_BYTES, siddec->total_bytes, &format, &offset);
- GST_BUFFER_OFFSET (out) = offset;
+ if (gst_siddec_src_convert (siddec->srcpad,
+ GST_FORMAT_BYTES, siddec->total_bytes, &format, &offset))
+ GST_BUFFER_OFFSET (out) = offset;
/* get current timestamp */
format = GST_FORMAT_TIME;
- gst_siddec_src_convert (siddec->srcpad,
- GST_FORMAT_BYTES, siddec->total_bytes, &format, &time);
- GST_BUFFER_TIMESTAMP (out) = time;
+ if (gst_siddec_src_convert (siddec->srcpad,
+ GST_FORMAT_BYTES, siddec->total_bytes, &format, &time))
+ GST_BUFFER_TIMESTAMP (out) = time;
/* update position and get new timestamp to calculate duration */
siddec->total_bytes += siddec->blocksize;
/* get offset in samples */
format = GST_FORMAT_DEFAULT;
- gst_siddec_src_convert (siddec->srcpad,
- GST_FORMAT_BYTES, siddec->total_bytes, &format, &value);
- GST_BUFFER_OFFSET_END (out) = value;
+ if (gst_siddec_src_convert (siddec->srcpad,
+ GST_FORMAT_BYTES, siddec->total_bytes, &format, &value))
+ GST_BUFFER_OFFSET_END (out) = value;
format = GST_FORMAT_TIME;
- gst_siddec_src_convert (siddec->srcpad,
- GST_FORMAT_BYTES, siddec->total_bytes, &format, &value);
- GST_BUFFER_DURATION (out) = value - time;
+ if (gst_siddec_src_convert (siddec->srcpad,
+ GST_FORMAT_BYTES, siddec->total_bytes, &format, &value))
+ GST_BUFFER_DURATION (out) = value - time;
if ((ret = gst_pad_push (siddec->srcpad, out)) != GST_FLOW_OK)
goto pause;
@@ -445,19 +443,16 @@
/* ERRORS */
pause:
{
- const gchar *reason = gst_flow_get_name (ret);
-
if (ret == GST_FLOW_EOS) {
/* perform EOS logic, FIXME, segment seek? */
gst_pad_push_event (pad, gst_event_new_eos ());
} else if (ret < GST_FLOW_EOS || ret == GST_FLOW_NOT_LINKED) {
/* for fatal errors we post an error message */
- GST_ELEMENT_ERROR (siddec, STREAM, FAILED,
- (NULL), ("streaming task paused, reason %s", reason));
+ GST_ELEMENT_FLOW_ERROR (siddec, ret);
gst_pad_push_event (pad, gst_event_new_eos ());
}
- GST_INFO_OBJECT (siddec, "pausing task, reason: %s", reason);
+ GST_INFO_OBJECT (siddec, "pausing task, reason: %s", gst_flow_get_name (ret));
gst_pad_pause_task (pad);
goto done;
}
diff --git a/ext/twolame/gsttwolamemp2enc.c b/ext/twolame/gsttwolamemp2enc.c
index a5e1b55..31bec6b 100644
--- a/ext/twolame/gsttwolamemp2enc.c
+++ b/ext/twolame/gsttwolamemp2enc.c
@@ -327,10 +327,10 @@
0, G_MAXINT, gst_two_lame_default_settings.quick_mode_count,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
- gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
- gst_static_pad_template_get (&gst_two_lame_src_template));
- gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
- gst_static_pad_template_get (&gst_two_lame_sink_template));
+ gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+ &gst_two_lame_src_template);
+ gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+ &gst_two_lame_sink_template);
gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
"TwoLAME mp2 encoder", "Codec/Encoder/Audio",
diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c
index 2be4ab2..f053744 100644
--- a/ext/x264/gstx264enc.c
+++ b/ext/x264/gstx264enc.c
@@ -1036,10 +1036,8 @@
"Josef Zlomek <josef.zlomek@itonis.tv>, "
"Mark Nauwelaerts <mnauw@users.sf.net>");
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&sink_factory));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_factory));
+ gst_element_class_add_static_pad_template (element_class, &sink_factory);
+ gst_element_class_add_static_pad_template (element_class, &src_factory);
}
static void
@@ -1474,8 +1472,113 @@
&& (info->fps_d == 1001) && ((info->fps_n == 30000)
|| (info->fps_n == 24000))) {
encoder->x264param.vui.i_vidformat = 2; /* NTSC */
- } else
+ } else {
encoder->x264param.vui.i_vidformat = 5; /* unspecified */
+ }
+
+ switch (info->colorimetry.primaries) {
+ case GST_VIDEO_COLOR_PRIMARIES_BT709:
+ encoder->x264param.vui.i_colorprim = 1;
+ break;
+ case GST_VIDEO_COLOR_PRIMARIES_BT470M:
+ encoder->x264param.vui.i_colorprim = 4;
+ break;
+ case GST_VIDEO_COLOR_PRIMARIES_BT470BG:
+ encoder->x264param.vui.i_colorprim = 5;
+ break;
+ case GST_VIDEO_COLOR_PRIMARIES_SMPTE170M:
+ encoder->x264param.vui.i_colorprim = 6;
+ break;
+ case GST_VIDEO_COLOR_PRIMARIES_SMPTE240M:
+ encoder->x264param.vui.i_colorprim = 7;
+ break;
+ case GST_VIDEO_COLOR_PRIMARIES_FILM:
+ encoder->x264param.vui.i_colorprim = 8;
+ break;
+ case GST_VIDEO_COLOR_PRIMARIES_BT2020:
+ encoder->x264param.vui.i_colorprim = 9;
+ break;
+ default:
+ encoder->x264param.vui.i_colorprim = 2;
+ break;
+ }
+
+ switch (info->colorimetry.transfer) {
+ case GST_VIDEO_TRANSFER_BT709:
+ encoder->x264param.vui.i_transfer = 1;
+ break;
+ case GST_VIDEO_TRANSFER_GAMMA22:
+ encoder->x264param.vui.i_transfer = 4;
+ break;
+ case GST_VIDEO_TRANSFER_GAMMA28:
+ encoder->x264param.vui.i_transfer = 5;
+ break;
+ case GST_VIDEO_TRANSFER_SMPTE240M:
+ encoder->x264param.vui.i_transfer = 7;
+ break;
+ case GST_VIDEO_TRANSFER_GAMMA10:
+ encoder->x264param.vui.i_transfer = 8;
+ break;
+ case GST_VIDEO_TRANSFER_LOG100:
+ encoder->x264param.vui.i_transfer = 9;
+ break;
+ case GST_VIDEO_TRANSFER_LOG316:
+ encoder->x264param.vui.i_transfer = 10;
+ break;
+ default:
+ encoder->x264param.vui.i_transfer = 2;
+ break;
+
+ }
+
+ switch (info->colorimetry.matrix) {
+ case GST_VIDEO_COLOR_MATRIX_RGB:
+ encoder->x264param.vui.i_colmatrix = 0;
+ break;
+ case GST_VIDEO_COLOR_MATRIX_FCC:
+ encoder->x264param.vui.i_colmatrix = 4;
+ break;
+ case GST_VIDEO_COLOR_MATRIX_BT709:
+ encoder->x264param.vui.i_colmatrix = 1;
+ break;
+ case GST_VIDEO_COLOR_MATRIX_BT601:
+ encoder->x264param.vui.i_colmatrix = 5;
+ break;
+ case GST_VIDEO_COLOR_MATRIX_SMPTE240M:
+ encoder->x264param.vui.i_colmatrix = 7;
+ break;
+ case GST_VIDEO_COLOR_MATRIX_BT2020:
+ encoder->x264param.vui.i_colmatrix = 9;
+ break;
+ default:
+ encoder->x264param.vui.i_colmatrix = 2;
+ break;
+ }
+
+ if (info->colorimetry.range == GST_VIDEO_COLOR_RANGE_0_255) {
+ encoder->x264param.vui.b_fullrange = 1;
+ } else {
+ encoder->x264param.vui.b_fullrange = 0;
+ }
+
+ switch (info->chroma_site) {
+ case GST_VIDEO_CHROMA_SITE_MPEG2:
+ encoder->x264param.vui.i_chroma_loc = 0;
+ break;
+ case GST_VIDEO_CHROMA_SITE_JPEG:
+ encoder->x264param.vui.i_chroma_loc = 1;
+ break;
+ case GST_VIDEO_CHROMA_SITE_V_COSITED:
+ encoder->x264param.vui.i_chroma_loc = 3;
+ break;
+ case GST_VIDEO_CHROMA_SITE_DV:
+ encoder->x264param.vui.i_chroma_loc = 2;
+ break;
+ default:
+ encoder->x264param.vui.i_chroma_loc = 0;
+ break;
+ }
+
encoder->x264param.analyse.b_psnr = 0;
diff --git a/ext/x264/gstx264enc.h b/ext/x264/gstx264enc.h
index d1135d9..25ac897 100644
--- a/ext/x264/gstx264enc.h
+++ b/ext/x264/gstx264enc.h
@@ -24,7 +24,11 @@
#include <gst/gst.h>
#include <gst/video/video.h>
#include <gst/video/gstvideoencoder.h>
-#include "_stdint.h"
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
#include <x264.h>
G_BEGIN_DECLS
diff --git a/gst-plugins-ugly.doap b/gst-plugins-ugly.doap
index 7576f0c..075d553 100644
--- a/gst-plugins-ugly.doap
+++ b/gst-plugins-ugly.doap
@@ -35,31 +35,31 @@
<release>
<Version>
- <revision>1.8.3</revision>
- <branch>1.8</branch>
+ <revision>1.9.90</revision>
+ <branch>master</branch>
<name></name>
- <created>2016-08-19</created>
- <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.8.3.tar.xz" />
+ <created>2016-09-30</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.9.90.tar.xz" />
</Version>
</release>
<release>
<Version>
- <revision>1.8.2</revision>
- <branch>1.8</branch>
+ <revision>1.9.2</revision>
+ <branch>master</branch>
<name></name>
- <created>2016-06-09</created>
- <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.8.2.tar.xz" />
+ <created>2016-09-01</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.9.2.tar.xz" />
</Version>
</release>
<release>
<Version>
- <revision>1.8.1</revision>
- <branch>1.8</branch>
+ <revision>1.9.1</revision>
+ <branch>master</branch>
<name></name>
- <created>2016-04-20</created>
- <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.8.1.tar.xz" />
+ <created>2016-06-06</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.9.1.tar.xz" />
</Version>
</release>
diff --git a/gst-plugins-ugly.spec b/gst-plugins-ugly.spec
index 83f5803..c1ad7e0 100644
--- a/gst-plugins-ugly.spec
+++ b/gst-plugins-ugly.spec
@@ -4,7 +4,7 @@
%define gst_minver 0.11.0
Name: %{gstreamer}-plugins-ugly
-Version: 1.8.3
+Version: 1.9.90
Release: 1.gst
Summary: GStreamer streaming media framework "ugly" plug-ins
diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c
index c60ede8..28e1f09 100644
--- a/gst/asfdemux/gstasfdemux.c
+++ b/gst/asfdemux/gstasfdemux.c
@@ -128,12 +128,12 @@
"Codec/Demuxer",
"Demultiplexes ASF Streams", "Owen Fraser-Green <owen@discobabe.net>");
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&audio_src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&video_src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_asf_demux_sink_template));
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &audio_src_template);
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &video_src_template);
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_asf_demux_sink_template);
gstelement_class->change_state =
GST_DEBUG_FUNCPTR (gst_asf_demux_change_state);
@@ -449,9 +449,7 @@
}
flow = gst_asf_demux_push_complete_payloads (demux, TRUE);
if (flow < GST_FLOW_EOS || flow == GST_FLOW_NOT_LINKED) {
- GST_ELEMENT_ERROR (demux, STREAM, FAILED,
- (_("Internal data stream error.")),
- ("streaming stopped, reason %s", gst_flow_get_name (flow)));
+ GST_ELEMENT_FLOW_ERROR (demux, flow);
break;
}
@@ -2123,9 +2121,7 @@
/* For the error cases */
if (flow < GST_FLOW_EOS || flow == GST_FLOW_NOT_LINKED) {
/* Post an error. Hopefully something else already has, but if not... */
- GST_ELEMENT_ERROR (demux, STREAM, FAILED,
- (_("Internal data stream error.")),
- ("streaming stopped, reason %s", gst_flow_get_name (flow)));
+ GST_ELEMENT_FLOW_ERROR (demux, flow);
gst_asf_demux_send_event_unlocked (demux, gst_event_new_eos ());
}
@@ -2625,6 +2621,27 @@
g_free (codec_name);
}
+ if (audio->byte_rate > 0) {
+ /* Some ASF files have no bitrate props object (often seen with
+ * ASF files that contain raw audio data). Example files can
+ * be generated with FFmpeg (tested with v2.8.6), like this:
+ *
+ * ffmpeg -i sine-wave.wav -c:a pcm_alaw file.asf
+ *
+ * In this case, if audio->byte_rate is nonzero, use that as
+ * the bitrate. */
+
+ guint bitrate = audio->byte_rate * 8;
+
+ if (tags == NULL)
+ tags = gst_tag_list_new_empty ();
+
+ /* Add bitrate, but only if there is none set already, since
+ * this is just a fallback in case there is no bitrate tag
+ * already present */
+ gst_tag_list_add (tags, GST_TAG_MERGE_KEEP, GST_TAG_BITRATE, bitrate, NULL);
+ }
+
if (extradata)
gst_buffer_unref (extradata);
diff --git a/gst/asfdemux/gstrtpasfdepay.c b/gst/asfdemux/gstrtpasfdepay.c
index 1ba5d02..3f13b5c 100644
--- a/gst/asfdemux/gstrtpasfdepay.c
+++ b/gst/asfdemux/gstrtpasfdepay.c
@@ -75,10 +75,8 @@
gstelement_class = (GstElementClass *) klass;
gstrtpbasedepayload_class = (GstRTPBaseDepayloadClass *) klass;
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&src_factory));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&sink_factory));
+ gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+ gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
gst_element_class_set_static_metadata (gstelement_class,
"RTP ASF packet depayloader", "Codec/Depayloader/Network",
diff --git a/gst/dvdlpcmdec/Makefile.am b/gst/dvdlpcmdec/Makefile.am
index 2edb120..6fb9371 100644
--- a/gst/dvdlpcmdec/Makefile.am
+++ b/gst/dvdlpcmdec/Makefile.am
@@ -2,8 +2,8 @@
plugin_LTLIBRARIES = libgstdvdlpcmdec.la
libgstdvdlpcmdec_la_SOURCES = gstdvdlpcmdec.c
-libgstdvdlpcmdec_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
-libgstdvdlpcmdec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ $(GST_LIBS)
+libgstdvdlpcmdec_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
+libgstdvdlpcmdec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ $(GST_BASE_LIBS) $(GST_LIBS)
libgstdvdlpcmdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstdvdlpcmdec_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
diff --git a/gst/dvdlpcmdec/Makefile.in b/gst/dvdlpcmdec/Makefile.in
index e126b8f..089a6cc 100644
--- a/gst/dvdlpcmdec/Makefile.in
+++ b/gst/dvdlpcmdec/Makefile.in
@@ -162,7 +162,7 @@
LTLIBRARIES = $(plugin_LTLIBRARIES)
am__DEPENDENCIES_1 =
libgstdvdlpcmdec_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_libgstdvdlpcmdec_la_OBJECTS = libgstdvdlpcmdec_la-gstdvdlpcmdec.lo
libgstdvdlpcmdec_la_OBJECTS = $(am_libgstdvdlpcmdec_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -504,8 +504,8 @@
top_srcdir = @top_srcdir@
plugin_LTLIBRARIES = libgstdvdlpcmdec.la
libgstdvdlpcmdec_la_SOURCES = gstdvdlpcmdec.c
-libgstdvdlpcmdec_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
-libgstdvdlpcmdec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ $(GST_LIBS)
+libgstdvdlpcmdec_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
+libgstdvdlpcmdec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ $(GST_BASE_LIBS) $(GST_LIBS)
libgstdvdlpcmdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstdvdlpcmdec_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
noinst_HEADERS = gstdvdlpcmdec.h
diff --git a/gst/dvdlpcmdec/gstdvdlpcmdec.c b/gst/dvdlpcmdec/gstdvdlpcmdec.c
index 69c395f..a402007 100644
--- a/gst/dvdlpcmdec/gstdvdlpcmdec.c
+++ b/gst/dvdlpcmdec/gstdvdlpcmdec.c
@@ -36,6 +36,7 @@
GST_PAD_SINK,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("audio/x-private1-lpcm; "
+ "audio/x-private2-lpcm; "
"audio/x-lpcm, "
"width = (int) { 16, 20, 24 }, "
"rate = (int) { 32000, 44100, 48000, 96000 }, "
@@ -56,86 +57,42 @@
"channels = (int) [ 1, 8 ]")
);
-/* DvdLpcmDec signals and args */
-enum
-{
- /* FILL ME */
- LAST_SIGNAL
-};
+#define gst_dvdlpcmdec_parent_class parent_class
+G_DEFINE_TYPE (GstDvdLpcmDec, gst_dvdlpcmdec, GST_TYPE_AUDIO_DECODER);
-enum
-{
- PROP_0
- /* FILL ME */
-};
-
-static void gst_dvdlpcmdec_base_init (gpointer g_class);
-static void gst_dvdlpcmdec_class_init (GstDvdLpcmDecClass * klass);
-static void gst_dvdlpcmdec_init (GstDvdLpcmDec * dvdlpcmdec);
-
-static GstFlowReturn gst_dvdlpcmdec_chain_raw (GstPad * pad, GstObject * parent,
+static gboolean gst_dvdlpcmdec_set_format (GstAudioDecoder * bdec,
+ GstCaps * caps);
+static GstFlowReturn gst_dvdlpcmdec_parse (GstAudioDecoder * bdec,
+ GstAdapter * adapter, gint * offset, gint * len);
+static GstFlowReturn gst_dvdlpcmdec_handle_frame (GstAudioDecoder * bdec,
GstBuffer * buffer);
-static GstFlowReturn gst_dvdlpcmdec_chain_dvd (GstPad * pad, GstObject * parent,
+static GstFlowReturn gst_dvdlpcmdec_chain (GstPad * pad, GstObject * parent,
GstBuffer * buffer);
-static gboolean gst_dvdlpcmdec_setcaps (GstPad * pad, GstCaps * caps);
-static gboolean dvdlpcmdec_sink_event (GstPad * pad, GstObject * parent,
- GstEvent * event);
-static GstStateChangeReturn gst_dvdlpcmdec_change_state (GstElement * element,
- GstStateChange transition);
-
-static GstElementClass *parent_class = NULL;
-
-GType
-gst_dvdlpcmdec_get_type (void)
-{
- static GType dvdlpcmdec_type = 0;
-
- if (!dvdlpcmdec_type) {
- static const GTypeInfo dvdlpcmdec_info = {
- sizeof (GstDvdLpcmDecClass),
- gst_dvdlpcmdec_base_init,
- NULL,
- (GClassInitFunc) gst_dvdlpcmdec_class_init,
- NULL,
- NULL,
- sizeof (GstDvdLpcmDec),
- 0,
- (GInstanceInitFunc) gst_dvdlpcmdec_init,
- };
-
- dvdlpcmdec_type =
- g_type_register_static (GST_TYPE_ELEMENT, "GstDvdLpcmDec",
- &dvdlpcmdec_info, 0);
- }
- return dvdlpcmdec_type;
-}
-
-static void
-gst_dvdlpcmdec_base_init (gpointer g_class)
-{
- GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_dvdlpcmdec_sink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_dvdlpcmdec_src_template));
- gst_element_class_set_static_metadata (element_class,
- "DVD LPCM Audio decoder", "Codec/Decoder/Audio",
- "Decode DVD LPCM frames into standard PCM audio",
- "Jan Schmidt <jan@noraisin.net>, Michael Smith <msmith@fluendo.com>");
-}
static void
gst_dvdlpcmdec_class_init (GstDvdLpcmDecClass * klass)
{
- GstElementClass *gstelement_class;
+ GstElementClass *element_class;
+ GstAudioDecoderClass *gstbase_class;
- gstelement_class = (GstElementClass *) klass;
+ element_class = (GstElementClass *) klass;
+ gstbase_class = (GstAudioDecoderClass *) klass;
- parent_class = g_type_class_peek_parent (klass);
+ gstbase_class->set_format = GST_DEBUG_FUNCPTR (gst_dvdlpcmdec_set_format);
+ gstbase_class->parse = GST_DEBUG_FUNCPTR (gst_dvdlpcmdec_parse);
+ gstbase_class->handle_frame = GST_DEBUG_FUNCPTR (gst_dvdlpcmdec_handle_frame);
- gstelement_class->change_state = gst_dvdlpcmdec_change_state;
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_dvdlpcmdec_sink_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_dvdlpcmdec_src_template);
+ gst_element_class_set_static_metadata (element_class,
+ "DVD LPCM Audio decoder", "Codec/Decoder/Audio",
+ "Decode DVD LPCM frames into standard PCM audio",
+ "Jan Schmidt <jan@noraisin.net>, Michael Smith <msmith@fluendo.com>");
+
+ GST_DEBUG_CATEGORY_INIT (dvdlpcm_debug, "dvdlpcmdec", 0, "DVD LPCM Decoder");
}
static void
@@ -145,27 +102,28 @@
dvdlpcmdec->dynamic_range = 0;
dvdlpcmdec->emphasis = FALSE;
dvdlpcmdec->mute = FALSE;
- dvdlpcmdec->timestamp = GST_CLOCK_TIME_NONE;
dvdlpcmdec->header = 0;
- gst_segment_init (&dvdlpcmdec->segment, GST_FORMAT_UNDEFINED);
+ dvdlpcmdec->mode = GST_LPCM_UNKNOWN;
}
static void
gst_dvdlpcmdec_init (GstDvdLpcmDec * dvdlpcmdec)
{
- dvdlpcmdec->sinkpad =
- gst_pad_new_from_static_template (&gst_dvdlpcmdec_sink_template, "sink");
- gst_pad_set_event_function (dvdlpcmdec->sinkpad, dvdlpcmdec_sink_event);
- gst_element_add_pad (GST_ELEMENT (dvdlpcmdec), dvdlpcmdec->sinkpad);
-
- dvdlpcmdec->srcpad =
- gst_pad_new_from_static_template (&gst_dvdlpcmdec_src_template, "src");
- gst_pad_use_fixed_caps (dvdlpcmdec->srcpad);
- gst_element_add_pad (GST_ELEMENT (dvdlpcmdec), dvdlpcmdec->srcpad);
-
gst_dvdlpcm_reset (dvdlpcmdec);
+
+ gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST
+ (dvdlpcmdec), TRUE);
+ GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (dvdlpcmdec));
+
+ /* retrieve and intercept base class chain.
+ * Quite HACKish, but that's dvd specs/caps for you,
+ * since one buffer needs to be split into 2 frames */
+ dvdlpcmdec->base_chain =
+ GST_PAD_CHAINFUNC (GST_AUDIO_DECODER_SINK_PAD (dvdlpcmdec));
+ gst_pad_set_chain_function (GST_AUDIO_DECODER_SINK_PAD (dvdlpcmdec),
+ GST_DEBUG_FUNCPTR (gst_dvdlpcmdec_chain));
}
static const GstAudioChannelPosition channel_positions[][8] = {
@@ -209,31 +167,26 @@
taglist = gst_tag_list_new (GST_TAG_AUDIO_CODEC, "LPCM Audio",
GST_TAG_BITRATE, bitrate, NULL);
- gst_pad_push_event (dvdlpcmdec->srcpad, gst_event_new_tag (taglist));
+ gst_audio_decoder_merge_tags (GST_AUDIO_DECODER (dvdlpcmdec), taglist,
+ GST_TAG_MERGE_REPLACE);
+ gst_tag_list_unref (taglist);
}
static gboolean
-gst_dvdlpcmdec_set_outcaps (GstDvdLpcmDec * dvdlpcmdec)
+gst_dvdlpcmdec_set_output_format (GstDvdLpcmDec * dvdlpcmdec)
{
gboolean res = TRUE;
- GstCaps *src_caps;
- /* Build caps to set on the src pad, which we know from the incoming caps */
- src_caps = gst_audio_info_to_caps (&dvdlpcmdec->info);
-
- res = gst_pad_set_caps (dvdlpcmdec->srcpad, src_caps);
+ res = gst_audio_decoder_set_output_format (GST_AUDIO_DECODER (dvdlpcmdec),
+ &dvdlpcmdec->info);
if (res) {
- GST_DEBUG_OBJECT (dvdlpcmdec, "Successfully set output caps: %"
- GST_PTR_FORMAT, src_caps);
+ GST_DEBUG_OBJECT (dvdlpcmdec, "Successfully set output format");
gst_dvdlpcmdec_send_tags (dvdlpcmdec);
} else {
- GST_DEBUG_OBJECT (dvdlpcmdec, "Failed to set output caps: %"
- GST_PTR_FORMAT, src_caps);
+ GST_DEBUG_OBJECT (dvdlpcmdec, "Failed to set output format");
}
- gst_caps_unref (src_caps);
-
return res;
}
@@ -253,41 +206,46 @@
guint c;
position = channel_positions[channels - 1];
- dec->lpcm_layout = position;
for (c = 0; c < channels; ++c)
sorted_position[c] = position[c];
gst_audio_channel_positions_to_valid_order (sorted_position, channels);
gst_audio_info_set_format (&dec->info, format, rate, channels,
sorted_position);
+ if (memcmp (position, sorted_position,
+ channels * sizeof (position[0])) != 0)
+ dec->lpcm_layout = position;
+ else
+ dec->lpcm_layout = NULL;
} else {
gst_audio_info_set_format (&dec->info, format, rate, channels, NULL);
}
}
static gboolean
-gst_dvdlpcmdec_setcaps (GstPad * pad, GstCaps * caps)
+gst_dvdlpcmdec_set_format (GstAudioDecoder * bdec, GstCaps * caps)
{
+ GstDvdLpcmDec *dvdlpcmdec = GST_DVDLPCMDEC (bdec);
GstStructure *structure;
gboolean res = TRUE;
- GstDvdLpcmDec *dvdlpcmdec;
GstAudioFormat format;
gint rate, channels, width;
- g_return_val_if_fail (caps != NULL, FALSE);
- g_return_val_if_fail (pad != NULL, FALSE);
-
- dvdlpcmdec = GST_DVDLPCMDEC (gst_pad_get_parent (pad));
+ gst_dvdlpcm_reset (dvdlpcmdec);
structure = gst_caps_get_structure (caps, 0);
/* If we have the DVD structured LPCM (including header) then we wait
* for incoming data before creating the output pad caps */
if (gst_structure_has_name (structure, "audio/x-private1-lpcm")) {
- gst_pad_set_chain_function (dvdlpcmdec->sinkpad, gst_dvdlpcmdec_chain_dvd);
+ dvdlpcmdec->mode = GST_LPCM_DVD;
+ goto done;
+ }
+ if (gst_structure_has_name (structure, "audio/x-private2-lpcm")) {
+ dvdlpcmdec->mode = GST_LPCM_1394;
goto done;
}
- gst_pad_set_chain_function (dvdlpcmdec->sinkpad, gst_dvdlpcmdec_chain_raw);
+ dvdlpcmdec->mode = GST_LPCM_RAW;
res &= gst_structure_get_int (structure, "rate", &rate);
res &= gst_structure_get_int (structure, "channels", &channels);
@@ -318,60 +276,20 @@
dvdlpcmdec->width = width;
- res = gst_dvdlpcmdec_set_outcaps (dvdlpcmdec);
+ res = gst_dvdlpcmdec_set_output_format (dvdlpcmdec);
done:
- gst_object_unref (dvdlpcmdec);
return res;
/* ERRORS */
caps_parse_error:
{
GST_DEBUG_OBJECT (dvdlpcmdec, "Couldn't get parameters; missing caps?");
- gst_object_unref (dvdlpcmdec);
return FALSE;
}
}
static void
-update_timestamps (GstDvdLpcmDec * dvdlpcmdec, GstBuffer * buf, int samples)
-{
- gboolean take_buf_ts = FALSE;
- gint rate;
-
- rate = GST_AUDIO_INFO_RATE (&dvdlpcmdec->info);
-
- GST_BUFFER_DURATION (buf) = gst_util_uint64_scale (samples, GST_SECOND, rate);
-
- if (GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
- if (GST_CLOCK_TIME_IS_VALID (dvdlpcmdec->timestamp)) {
- GstClockTimeDiff one_sample = GST_SECOND / rate;
- GstClockTimeDiff diff = GST_CLOCK_DIFF (GST_BUFFER_TIMESTAMP (buf),
- dvdlpcmdec->timestamp);
-
- if (diff > one_sample || diff < -one_sample)
- take_buf_ts = TRUE;
- } else {
- take_buf_ts = TRUE;
- }
- } else if (!GST_CLOCK_TIME_IS_VALID (dvdlpcmdec->timestamp)) {
- dvdlpcmdec->timestamp = 0;
- }
-
- if (take_buf_ts) {
- /* Take buffer timestamp */
- dvdlpcmdec->timestamp = GST_BUFFER_TIMESTAMP (buf);
- } else {
- GST_BUFFER_TIMESTAMP (buf) = dvdlpcmdec->timestamp;
- }
-
- dvdlpcmdec->timestamp += GST_BUFFER_DURATION (buf);
-
- GST_LOG_OBJECT (dvdlpcmdec, "Updated timestamp to %" GST_TIME_FORMAT,
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)));
-}
-
-static void
parse_header (GstDvdLpcmDec * dec, guint32 header)
{
GstAudioFormat format;
@@ -430,73 +348,40 @@
}
static GstFlowReturn
-gst_dvdlpcmdec_chain_dvd (GstPad * pad, GstObject * parent, GstBuffer * buf)
+gst_dvdlpcmdec_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
{
- GstDvdLpcmDec *dvdlpcmdec;
- GstMapInfo map;
- guint8 *data;
+ GstDvdLpcmDec *dvdlpcmdec = GST_DVDLPCMDEC (parent);
+ guint8 data[2];
gsize size;
guint first_access;
- guint32 header;
GstBuffer *subbuf;
GstFlowReturn ret = GST_FLOW_OK;
gint off, len;
- gint rate, channels;
- dvdlpcmdec = GST_DVDLPCMDEC (parent);
+ if (dvdlpcmdec->mode != GST_LPCM_DVD)
+ return dvdlpcmdec->base_chain (pad, parent, buf);
- gst_buffer_map (buf, &map, GST_MAP_READ);
- data = map.data;
- size = map.size;
-
+ size = gst_buffer_get_size (buf);
if (size < 5)
goto too_small;
- /* We have a 5 byte header, now.
- * The first two bytes are a (big endian) 16 bit offset into our buffer.
- * The buffer timestamp refers to this offset.
- *
- * The other three bytes are a (big endian) number in which the header is
- * encoded.
- */
+ gst_buffer_extract (buf, 0, data, 2);
first_access = (data[0] << 8) | data[1];
if (first_access > size)
goto invalid_data;
- /* Don't keep the 'frame number' low 5 bits of the first byte */
- header = ((data[2] & 0xC0) << 16) | (data[3] << 8) | data[4];
-
- /* see if we have a new header */
- if (header != dvdlpcmdec->header) {
- parse_header (dvdlpcmdec, header);
-
- if (!gst_dvdlpcmdec_set_outcaps (dvdlpcmdec))
- goto negotiation_failed;
-
- dvdlpcmdec->header = header;
- }
-
- GST_LOG_OBJECT (dvdlpcmdec, "first_access %d, buffer length %" G_GSIZE_FORMAT,
- first_access, size);
-
- rate = GST_AUDIO_INFO_RATE (&dvdlpcmdec->info);
- channels = GST_AUDIO_INFO_CHANNELS (&dvdlpcmdec->info);
-
- /* After first_access, we have an additional 3 bytes of data we've parsed and
- * don't want to handle; this is included within the value of first_access.
+ /* After first_access, we have an additional 3 bytes of header data; this
+ * is included within the value of first_access.
* So a first_access value of between 1 and 3 is just broken, we treat that
* the same as zero. first_access == 4 means we only need to create a single
* sub-buffer, greater than that we need to create two. */
- /* skip access unit bytes and info */
- off = 5;
+ /* skip access unit bytes */
+ off = 2;
if (first_access > 4) {
- guint samples = 0;
- GstClockTime ts;
-
/* length of first buffer */
- len = first_access - 4;
+ len = first_access - 1;
GST_LOG_OBJECT (dvdlpcmdec, "Creating first sub-buffer off %d, len %d",
off, len);
@@ -506,36 +391,8 @@
goto bad_first_access;
subbuf = gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL, off, len);
-
- /* If we don't have a stored timestamp from the last packet,
- * (it's straight after a new-segment, but we have one on the
- * first access buffer, then calculate the timestamp to align
- * this buffer to just before the first_access buffer */
- if (!GST_CLOCK_TIME_IS_VALID (dvdlpcmdec->timestamp) &&
- GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
- switch (dvdlpcmdec->width) {
- case 16:
- samples = len / channels / 2;
- break;
- case 20:
- samples = (len / channels) * 2 / 5;
- break;
- case 24:
- samples = len / channels / 3;
- break;
- }
- }
- if (samples != 0) {
- ts = gst_util_uint64_scale (samples, GST_SECOND, rate);
- if (ts < GST_BUFFER_TIMESTAMP (buf))
- GST_BUFFER_TIMESTAMP (subbuf) = GST_BUFFER_TIMESTAMP (buf) - ts;
- else
- GST_BUFFER_TIMESTAMP (subbuf) = 0;
- } else {
- GST_BUFFER_TIMESTAMP (subbuf) = GST_CLOCK_TIME_NONE;
- }
-
- ret = gst_dvdlpcmdec_chain_raw (pad, parent, subbuf);
+ GST_BUFFER_TIMESTAMP (subbuf) = GST_CLOCK_TIME_NONE;
+ ret = dvdlpcmdec->base_chain (pad, parent, subbuf);
if (ret != GST_FLOW_OK)
goto done;
@@ -547,10 +404,14 @@
len);
if (len > 0) {
+ GstMemory *header, *tmp;
subbuf = gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL, off, len);
+ tmp = gst_buffer_peek_memory (buf, 0);
+ header = gst_memory_copy (tmp, 2, 3);
+ gst_buffer_prepend_memory (subbuf, header);
GST_BUFFER_TIMESTAMP (subbuf) = GST_BUFFER_TIMESTAMP (buf);
- ret = gst_dvdlpcmdec_chain_raw (pad, parent, subbuf);
+ ret = dvdlpcmdec->base_chain (pad, parent, subbuf);
}
} else {
GST_LOG_OBJECT (dvdlpcmdec,
@@ -558,11 +419,10 @@
size - off);
subbuf = gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL, off, size - off);
GST_BUFFER_TIMESTAMP (subbuf) = GST_BUFFER_TIMESTAMP (buf);
- ret = gst_dvdlpcmdec_chain_raw (pad, parent, subbuf);
+ ret = dvdlpcmdec->base_chain (pad, parent, subbuf);
}
done:
- gst_buffer_unmap (buf, &map);
gst_buffer_unref (buf);
return ret;
@@ -585,13 +445,6 @@
ret = GST_FLOW_OK;
goto done;
}
-negotiation_failed:
- {
- GST_ELEMENT_ERROR (dvdlpcmdec, STREAM, FORMAT, (NULL),
- ("Failed to configure output format"));
- ret = GST_FLOW_NOT_NEGOTIATED;
- goto done;
- }
bad_first_access:
{
GST_WARNING_OBJECT (pad, "Bad first_access parameter in buffer");
@@ -604,15 +457,186 @@
}
static GstFlowReturn
-gst_dvdlpcmdec_chain_raw (GstPad * pad, GstObject * parent, GstBuffer * buf)
+gst_dvdlpcmdec_parse_dvd (GstDvdLpcmDec * dvdlpcmdec, GstAdapter * adapter,
+ gint * offset, gint * len)
{
- GstDvdLpcmDec *dvdlpcmdec;
+ guint32 header;
+ const guint8 *data;
+
+ data = (const guint8 *) gst_adapter_map (adapter, 3);
+ if (!data)
+ goto too_small;
+
+ /* Don't keep the 'frame number' low 5 bits of the first byte */
+ header = ((data[0] & 0xC0) << 16) | (data[1] << 8) | data[2];
+
+ gst_adapter_unmap (adapter);
+
+ /* see if we have a new header */
+ if (header != dvdlpcmdec->header) {
+ parse_header (dvdlpcmdec, header);
+
+ if (!gst_dvdlpcmdec_set_output_format (dvdlpcmdec))
+ goto negotiation_failed;
+
+ dvdlpcmdec->header = header;
+ }
+
+ *offset = 3;
+ *len = gst_adapter_available (adapter) - 3;
+
+ return GST_FLOW_OK;
+
+ /* ERRORS */
+too_small:
+ {
+ /* Buffer is too small */
+ GST_ELEMENT_WARNING (dvdlpcmdec, STREAM, DECODE,
+ ("Invalid data found parsing LPCM packet"),
+ ("LPCM packet was too small. Dropping"));
+ *offset = gst_adapter_available (adapter);
+ return GST_FLOW_EOS;
+ }
+negotiation_failed:
+ {
+ GST_ELEMENT_ERROR (dvdlpcmdec, STREAM, FORMAT, (NULL),
+ ("Failed to configure output format"));
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
+}
+
+static GstFlowReturn
+gst_dvdlpcmdec_parse_1394 (GstDvdLpcmDec * dvdlpcmdec, GstAdapter * adapter,
+ gint * offset, gint * len)
+{
+ guint32 header;
+ const guint8 *data;
+
+ data = (const guint8 *) gst_adapter_map (adapter, 4);
+ if (!data)
+ goto too_small;
+
+ header = GST_READ_UINT32_BE (data);
+
+ gst_adapter_unmap (adapter);
+
+ /* see if we have a new header */
+ if (header != dvdlpcmdec->header) {
+ GstAudioFormat format;
+ gint rate, channels;
+
+ if (header >> 24 != 0xa0)
+ goto invalid_data;
+
+ switch ((header >> 6) & 0x3) {
+ case 0x0:
+ format = GST_AUDIO_FORMAT_S16BE;
+ dvdlpcmdec->width = 16;
+ break;
+ default:
+ format = GST_AUDIO_FORMAT_UNKNOWN;
+ dvdlpcmdec->width = 0;
+ GST_WARNING ("Invalid quantization word length!");
+ break;
+ }
+
+ switch ((header >> 3) & 0x7) {
+ case 0x1:
+ rate = 44100;
+ break;
+ case 0x2:
+ rate = 48000;
+ break;
+ default:
+ rate = 0;
+ GST_WARNING ("Invalid audio sampling frequency!");
+ break;
+ }
+ switch (header & 0x7) {
+ case 0x0: /* 2 channels dual-mono */
+ case 0x1: /* 2 channles stereo */
+ channels = 2;
+ break;
+ default:
+ channels = 0;
+ GST_WARNING ("Invalid number of audio channels!");
+ break;
+ }
+
+ gst_dvdlpcmdec_update_audio_formats (dvdlpcmdec, channels, rate, format);
+
+ if (!gst_dvdlpcmdec_set_output_format (dvdlpcmdec))
+ goto negotiation_failed;
+
+ dvdlpcmdec->header = header;
+ }
+
+ *offset = 4;
+ *len = gst_adapter_available (adapter) - 4;
+
+ return GST_FLOW_OK;
+
+ /* ERRORS */
+too_small:
+ {
+ /* Buffer is too small */
+ GST_ELEMENT_WARNING (dvdlpcmdec, STREAM, DECODE,
+ ("Invalid data found parsing LPCM packet"),
+ ("LPCM packet was too small. Dropping"));
+ *offset = gst_adapter_available (adapter);
+ return GST_FLOW_EOS;
+ }
+invalid_data:
+ {
+ GST_ELEMENT_WARNING (dvdlpcmdec, STREAM, DECODE,
+ ("Invalid data found parsing LPCM packet"),
+ ("LPCM packet contains invalid sub_stream_id."));
+ return GST_FLOW_ERROR;
+ }
+negotiation_failed:
+ {
+ GST_ELEMENT_ERROR (dvdlpcmdec, STREAM, FORMAT, (NULL),
+ ("Failed to configure output format"));
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
+}
+
+static GstFlowReturn
+gst_dvdlpcmdec_parse (GstAudioDecoder * bdec, GstAdapter * adapter,
+ gint * offset, gint * len)
+{
+ GstDvdLpcmDec *dvdlpcmdec = GST_DVDLPCMDEC (bdec);
+
+ switch (dvdlpcmdec->mode) {
+ case GST_LPCM_UNKNOWN:
+ return GST_FLOW_NOT_NEGOTIATED;
+
+ case GST_LPCM_RAW:
+ *offset = 0;
+ *len = gst_adapter_available (adapter);
+ return GST_FLOW_OK;
+
+ case GST_LPCM_DVD:
+ return gst_dvdlpcmdec_parse_dvd (dvdlpcmdec, adapter, offset, len);
+
+ case GST_LPCM_1394:
+ return gst_dvdlpcmdec_parse_1394 (dvdlpcmdec, adapter, offset, len);
+ }
+ return GST_FLOW_ERROR;
+}
+
+static GstFlowReturn
+gst_dvdlpcmdec_handle_frame (GstAudioDecoder * bdec, GstBuffer * buf)
+{
+ GstDvdLpcmDec *dvdlpcmdec = GST_DVDLPCMDEC (bdec);
gsize size;
GstFlowReturn ret;
guint samples = 0;
gint rate, channels;
- dvdlpcmdec = GST_DVDLPCMDEC (parent);
+ /* no fancy draining */
+ if (G_UNLIKELY (!buf))
+ return GST_FLOW_OK;
size = gst_buffer_get_size (buf);
@@ -626,9 +650,6 @@
if (rate == 0)
goto not_negotiated;
- if (GST_BUFFER_TIMESTAMP_IS_VALID (buf))
- dvdlpcmdec->timestamp = GST_BUFFER_TIMESTAMP (buf);
-
/* We don't currently do anything at all regarding emphasis, mute or
* dynamic_range - I'm not sure what they're for */
switch (dvdlpcmdec->width) {
@@ -639,7 +660,8 @@
samples = size / channels / 2;
if (samples < 1)
goto drop;
- buf = gst_buffer_make_writable (buf);
+
+ gst_buffer_ref (buf);
break;
}
case 20:
@@ -688,7 +710,6 @@
}
gst_buffer_unmap (outbuf, &destmap);
gst_buffer_unmap (buf, &srcmap);
- gst_buffer_unref (buf);
buf = outbuf;
break;
}
@@ -698,51 +719,57 @@
* and last byte are already correct */
guint count = size / 12;
gint i;
- GstMapInfo map;
- guint8 *ptr;
+ GstMapInfo srcmap, destmap;
+ guint8 *src, *dest;
+ GstBuffer *outbuf;
samples = size / channels / 3;
if (samples < 1)
goto drop;
- /* Ensure our output buffer is writable */
- buf = gst_buffer_make_writable (buf);
+ outbuf = gst_buffer_new_allocate (NULL, size, NULL);
+ gst_buffer_copy_into (outbuf, buf, GST_BUFFER_COPY_TIMESTAMPS, 0, -1);
- gst_buffer_map (buf, &map, GST_MAP_READWRITE);
- ptr = map.data;
+ gst_buffer_map (buf, &srcmap, GST_MAP_READ);
+ gst_buffer_map (outbuf, &destmap, GST_MAP_READWRITE);
+ src = srcmap.data;
+ dest = destmap.data;
for (i = 0; i < count; i++) {
- guint8 tmp;
+ dest[0] = src[0];
+ dest[1] = src[1];
+ dest[11] = src[11];
+ dest[10] = src[7];
+ dest[7] = src[5];
+ dest[5] = src[9];
+ dest[9] = src[6];
+ dest[6] = src[4];
+ dest[4] = src[3];
+ dest[3] = src[2];
+ dest[2] = src[8];
+ dest[8] = src[10];
- tmp = ptr[10];
- ptr[10] = ptr[7];
- ptr[7] = ptr[5];
- ptr[5] = ptr[9];
- ptr[9] = ptr[6];
- ptr[6] = ptr[4];
- ptr[4] = ptr[3];
- ptr[3] = ptr[2];
- ptr[2] = ptr[8];
- ptr[8] = tmp;
-
- ptr += 12;
+ src += 12;
+ dest += 12;
}
- gst_buffer_unmap (buf, &map);
+ gst_buffer_unmap (outbuf, &destmap);
+ gst_buffer_unmap (buf, &srcmap);
+ buf = outbuf;
break;
}
default:
goto invalid_width;
}
- update_timestamps (dvdlpcmdec, buf, samples);
-
- if (dvdlpcmdec->lpcm_layout)
+ if (dvdlpcmdec->lpcm_layout) {
+ buf = gst_buffer_make_writable (buf);
gst_audio_buffer_reorder_channels (buf, dvdlpcmdec->info.finfo->format,
dvdlpcmdec->info.channels, dvdlpcmdec->lpcm_layout,
dvdlpcmdec->info.position);
+ }
- ret = gst_pad_push (dvdlpcmdec->srcpad, buf);
+ ret = gst_audio_decoder_finish_frame (bdec, buf, 1);
done:
return ret;
@@ -752,7 +779,6 @@
{
GST_DEBUG_OBJECT (dvdlpcmdec,
"Buffer of size %" G_GSIZE_FORMAT " is too small. Dropping", size);
- gst_buffer_unref (buf);
ret = GST_FLOW_OK;
goto done;
}
@@ -760,7 +786,6 @@
{
GST_ELEMENT_ERROR (dvdlpcmdec, STREAM, FORMAT, (NULL),
("Buffer pushed before negotiation"));
- gst_buffer_unref (buf);
ret = GST_FLOW_NOT_NEGOTIATED;
goto done;
}
@@ -768,88 +793,14 @@
{
GST_ELEMENT_ERROR (dvdlpcmdec, STREAM, WRONG_TYPE, (NULL),
("Invalid sample width configured"));
- gst_buffer_unref (buf);
ret = GST_FLOW_NOT_NEGOTIATED;
goto done;
}
}
static gboolean
-dvdlpcmdec_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
-{
- GstDvdLpcmDec *dvdlpcmdec;
- gboolean res;
-
- dvdlpcmdec = GST_DVDLPCMDEC (parent);
-
- switch (GST_EVENT_TYPE (event)) {
- case GST_EVENT_CAPS:
- {
- GstCaps *caps;
-
- gst_event_parse_caps (event, &caps);
- res = gst_dvdlpcmdec_setcaps (pad, caps);
- gst_event_unref (event);
- break;
- }
- case GST_EVENT_SEGMENT:
- {
- GstSegment seg;
-
- gst_event_copy_segment (event, &seg);
-
- GST_DEBUG_OBJECT (dvdlpcmdec, "segment %" GST_SEGMENT_FORMAT, &seg);
-
- dvdlpcmdec->segment = seg;
-
- if (seg.format == GST_FORMAT_TIME) {
- dvdlpcmdec->timestamp = GST_CLOCK_TIME_NONE;
- } else {
- dvdlpcmdec->timestamp = 0;
- }
- res = gst_pad_push_event (dvdlpcmdec->srcpad, event);
- break;
- }
- case GST_EVENT_FLUSH_STOP:
- gst_segment_init (&dvdlpcmdec->segment, GST_FORMAT_UNDEFINED);
- res = gst_pad_push_event (dvdlpcmdec->srcpad, event);
- break;
- default:
- res = gst_pad_push_event (dvdlpcmdec->srcpad, event);
- break;
- }
-
- return res;
-}
-
-static GstStateChangeReturn
-gst_dvdlpcmdec_change_state (GstElement * element, GstStateChange transition)
-{
- GstDvdLpcmDec *dvdlpcmdec = GST_DVDLPCMDEC (element);
- GstStateChangeReturn res;
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_PAUSED:
- gst_dvdlpcm_reset (dvdlpcmdec);
- break;
- default:
- break;
- }
-
- res = parent_class->change_state (element, transition);
-
- switch (transition) {
- default:
- break;
- }
-
- return res;
-}
-
-static gboolean
plugin_init (GstPlugin * plugin)
{
- GST_DEBUG_CATEGORY_INIT (dvdlpcm_debug, "dvdlpcmdec", 0, "DVD LPCM Decoder");
if (!gst_element_register (plugin, "dvdlpcmdec", GST_RANK_PRIMARY,
GST_TYPE_DVDLPCMDEC)) {
diff --git a/gst/dvdlpcmdec/gstdvdlpcmdec.h b/gst/dvdlpcmdec/gstdvdlpcmdec.h
index 955f60c..7f3d0c9 100644
--- a/gst/dvdlpcmdec/gstdvdlpcmdec.h
+++ b/gst/dvdlpcmdec/gstdvdlpcmdec.h
@@ -23,6 +23,7 @@
#include <gst/gst.h>
#include <gst/audio/audio.h>
+#include <gst/audio/gstaudiodecoder.h>
G_BEGIN_DECLS
@@ -40,11 +41,19 @@
typedef struct _GstDvdLpcmDec GstDvdLpcmDec;
typedef struct _GstDvdLpcmDecClass GstDvdLpcmDecClass;
+typedef enum {
+ GST_LPCM_UNKNOWN,
+ GST_LPCM_RAW,
+ GST_LPCM_DVD,
+ GST_LPCM_1394
+} GstDvdLpcmMode;
+
struct _GstDvdLpcmDec {
- GstElement element;
+ GstAudioDecoder element;
- GstPad *sinkpad,*srcpad;
+ GstPadChainFunction base_chain;
+ GstDvdLpcmMode mode;
guint32 header;
GstAudioInfo info;
@@ -55,11 +64,10 @@
gint mute;
GstClockTime timestamp;
- GstSegment segment;
};
struct _GstDvdLpcmDecClass {
- GstElementClass parent_class;
+ GstAudioDecoderClass parent_class;
};
GType gst_dvdlpcmdec_get_type (void);
diff --git a/gst/dvdsub/gstdvdsubdec.c b/gst/dvdsub/gstdvdsubdec.c
index 89a2c94..77bfbc9 100644
--- a/gst/dvdsub/gstdvdsubdec.c
+++ b/gst/dvdsub/gstdvdsubdec.c
@@ -109,10 +109,9 @@
gobject_class->finalize = gst_dvd_sub_dec_finalize;
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&subtitle_template));
+ gst_element_class_add_static_pad_template (gstelement_class, &src_template);
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &subtitle_template);
gst_element_class_set_static_metadata (gstelement_class,
"DVD subtitle decoder", "Codec/Decoder/Video",
diff --git a/gst/dvdsub/gstdvdsubparse.c b/gst/dvdsub/gstdvdsubparse.c
index ea49e53..4184a41 100644
--- a/gst/dvdsub/gstdvdsubparse.c
+++ b/gst/dvdsub/gstdvdsubparse.c
@@ -72,10 +72,8 @@
gstelement_class->change_state =
GST_DEBUG_FUNCPTR (gst_dvd_sub_parse_change_state);
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&sink_template));
+ gst_element_class_add_static_pad_template (gstelement_class, &src_template);
+ gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
gst_element_class_set_static_metadata (gstelement_class,
"DVD subtitle parser", "Codec/Parser/Subtitle",
diff --git a/gst/realmedia/pnmsrc.c b/gst/realmedia/pnmsrc.c
index 4db082f..fdd4980 100644
--- a/gst/realmedia/pnmsrc.c
+++ b/gst/realmedia/pnmsrc.c
@@ -90,8 +90,8 @@
DEFAULT_LOCATION, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_pnm_src_template));
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_pnm_src_template);
gst_element_class_set_static_metadata (gstelement_class,
"PNM packet receiver", "Source/Network",
diff --git a/gst/realmedia/rademux.c b/gst/realmedia/rademux.c
index 5aa92ac..3dadcc5 100644
--- a/gst/realmedia/rademux.c
+++ b/gst/realmedia/rademux.c
@@ -96,10 +96,8 @@
gobject_class->finalize = gst_real_audio_demux_finalize;
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&sink_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
+ gst_element_class_add_static_pad_template (gstelement_class, &src_template);
gst_element_class_set_static_metadata (gstelement_class, "RealAudio Demuxer",
"Codec/Demuxer",
diff --git a/gst/realmedia/rdtdepay.c b/gst/realmedia/rdtdepay.c
index ac79b74..5cf5e4a 100644
--- a/gst/realmedia/rdtdepay.c
+++ b/gst/realmedia/rdtdepay.c
@@ -92,10 +92,10 @@
gstelement_class->change_state = gst_rdt_depay_change_state;
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rdt_depay_src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rdt_depay_sink_template));
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_rdt_depay_src_template);
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_rdt_depay_sink_template);
gst_element_class_set_static_metadata (gstelement_class, "RDT packet parser",
"Codec/Depayloader/Network",
diff --git a/gst/realmedia/rdtmanager.c b/gst/realmedia/rdtmanager.c
index 0cfaef9..48bc5ef 100644
--- a/gst/realmedia/rdtmanager.c
+++ b/gst/realmedia/rdtmanager.c
@@ -517,15 +517,15 @@
GST_DEBUG_FUNCPTR (gst_rdt_manager_release_pad);
/* sink pads */
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rdt_manager_recv_rtp_sink_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rdt_manager_recv_rtcp_sink_template));
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_rdt_manager_recv_rtp_sink_template);
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_rdt_manager_recv_rtcp_sink_template);
/* src pads */
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rdt_manager_recv_rtp_src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rdt_manager_rtcp_src_template));
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_rdt_manager_recv_rtp_src_template);
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_rdt_manager_rtcp_src_template);
gst_element_class_set_static_metadata (gstelement_class, "RTP Decoder",
"Codec/Parser/Network",
diff --git a/gst/realmedia/realhash.c b/gst/realmedia/realhash.c
index 294f204..97b1390 100644
--- a/gst/realmedia/realhash.c
+++ b/gst/realmedia/realhash.c
@@ -22,7 +22,10 @@
#include "config.h"
#endif
-#include "_stdint.h"
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
#include <string.h>
#include <gst/gst.h>
diff --git a/gst/realmedia/rmdemux.c b/gst/realmedia/rmdemux.c
index e670f98..6634c22 100644
--- a/gst/realmedia/rmdemux.c
+++ b/gst/realmedia/rmdemux.c
@@ -197,12 +197,12 @@
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_rmdemux_sink_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_rmdemux_videosrc_template));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_rmdemux_audiosrc_template));
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_rmdemux_sink_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_rmdemux_videosrc_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_rmdemux_audiosrc_template);
gst_element_class_set_static_metadata (element_class, "RealMedia Demuxer",
"Codec/Demuxer",
"Demultiplex a RealMedia file into audio and video streams",
@@ -967,8 +967,7 @@
gst_rmdemux_send_event (rmdemux, gst_event_new_eos ());
}
} else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_EOS) {
- GST_ELEMENT_ERROR (rmdemux, STREAM, FAILED,
- (NULL), ("stream stopped, reason %s", reason));
+ GST_ELEMENT_FLOW_ERROR (rmdemux, ret);
gst_rmdemux_send_event (rmdemux, gst_event_new_eos ());
}
return;
diff --git a/gst/realmedia/rtspreal.c b/gst/realmedia/rtspreal.c
index b7b3383..f3460a1 100644
--- a/gst/realmedia/rtspreal.c
+++ b/gst/realmedia/rtspreal.c
@@ -28,8 +28,11 @@
#include "config.h"
#endif
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
#include <stdlib.h>
-#include "_stdint.h"
#include <string.h>
#include <gst/rtsp/gstrtspextension.h>
diff --git a/gst/xingmux/gstxingmux.c b/gst/xingmux/gstxingmux.c
index 0572060..b0809aa 100644
--- a/gst/xingmux/gstxingmux.c
+++ b/gst/xingmux/gstxingmux.c
@@ -413,10 +413,10 @@
gstelement_class->change_state =
GST_DEBUG_FUNCPTR (gst_xing_mux_change_state);
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_xing_mux_src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_xing_mux_sink_template));
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_xing_mux_src_template);
+ gst_element_class_add_static_pad_template (gstelement_class,
+ &gst_xing_mux_sink_template);
GST_DEBUG_CATEGORY_INIT (xing_mux_debug, "xingmux", 0, "Xing Header Muxer");
diff --git a/ltmain.sh b/ltmain.sh
index 2ad8be8..a736cf9 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -31,7 +31,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-1"
+VERSION="2.4.6 Debian-2.4.6-2"
package_revision=2.4.6
@@ -1977,7 +1977,7 @@
# End:
# Set a version string.
-scriptversion='(GNU libtool) 2.4.6 Debian-2.4.6-1'
+scriptversion='(GNU libtool) 2.4.6'
# func_echo ARG...
@@ -2068,7 +2068,7 @@
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname $scriptversion
+ version: $progname $scriptversion Debian-2.4.6-2
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
diff --git a/po/af.gmo b/po/af.gmo
index bd33e25..f87c818 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index fce2f8c..0f725e5 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-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\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"
@@ -69,9 +69,6 @@
msgid "This stream contains no data."
msgstr ""
-msgid "Internal data stream error."
-msgstr ""
-
#, fuzzy
#~ msgid "Could not read title information for DVD."
#~ msgstr "Kon nie skryf na lêer \"%s\" nie."
diff --git a/po/az.gmo b/po/az.gmo
index d122e1a..edfa642 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 6305704..dbce168 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-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\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"
@@ -70,9 +70,6 @@
msgid "This stream contains no data."
msgstr ""
-msgid "Internal data stream error."
-msgstr ""
-
#, fuzzy
#~ msgid "Could not read title information for DVD."
#~ msgstr "\"%s\" faylına yazıla bilmədi."
diff --git a/po/bg.gmo b/po/bg.gmo
index 373f5cf..25ef682 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index e3df355..d0496fa 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.7.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\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"
@@ -77,5 +77,5 @@
msgid "This stream contains no data."
msgstr "Потокът не съдържа данни."
-msgid "Internal data stream error."
-msgstr "Вътрешна грешка в потока от данни."
+#~ msgid "Internal data stream error."
+#~ msgstr "Вътрешна грешка в потока от данни."
diff --git a/po/ca.gmo b/po/ca.gmo
index 1b617eb..ca6ae73 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 5e22106..6592251 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\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"
@@ -80,5 +80,5 @@
msgid "This stream contains no data."
msgstr "Aquest flux no conté dades."
-msgid "Internal data stream error."
-msgstr "S'ha produït un error intern de flux de dades."
+#~ msgid "Internal data stream error."
+#~ msgstr "S'ha produït un error intern de flux de dades."
diff --git a/po/cs.gmo b/po/cs.gmo
index 1300123..e303953 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 4ea2ebc..d34b2de 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2013-09-07 07:06+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -79,5 +79,5 @@
msgid "This stream contains no data."
msgstr "Tento proud neobsahuje žádná data."
-msgid "Internal data stream error."
-msgstr "Interní chyba datového proudu."
+#~ msgid "Internal data stream error."
+#~ msgstr "Interní chyba datového proudu."
diff --git a/po/da.gmo b/po/da.gmo
index 5a56fcc..008fec2 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 3b6dc4b..01c46d6 100644
--- a/po/da.po
+++ b/po/da.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly-1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-12-09 03:56+0100\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -77,8 +77,8 @@
msgid "This stream contains no data."
msgstr "Denne strøm indeholder ingen data."
-msgid "Internal data stream error."
-msgstr "Intern datastrømfejl."
+#~ msgid "Internal data stream error."
+#~ msgstr "Intern datastrømfejl."
#~ msgid "Invalid title information on DVD."
#~ msgstr "Ugyldig titelinformation på dvd."
diff --git a/po/de.gmo b/po/de.gmo
index 0e21576..40c7bf5 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index e56ac17..d04fb5c 100644
--- a/po/de.po
+++ b/po/de.po
@@ -13,7 +13,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.3.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2014-05-22 18:29+0100\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -85,8 +85,8 @@
msgid "This stream contains no data."
msgstr "Dieser Strom enthält keine Daten."
-msgid "Internal data stream error."
-msgstr "Interner Datenstromfehler."
+#~ msgid "Internal data stream error."
+#~ msgstr "Interner Datenstromfehler."
#~ msgid "Invalid title information on DVD."
#~ msgstr "Ungültige Titelinformation auf der DVD."
diff --git a/po/el.gmo b/po/el.gmo
index 7e45c93..4797f78 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 4a62db2..9617141 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-03-18 01:04+0100\n"
"Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -78,5 +78,5 @@
msgid "This stream contains no data."
msgstr "Η ροή αυτή δεν περιέχει καθόλου δεδομένα."
-msgid "Internal data stream error."
-msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
+#~ msgid "Internal data stream error."
+#~ msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 57b44af..daecf48 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 d8de481..61909a1 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-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\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"
@@ -68,9 +68,6 @@
msgid "This stream contains no data."
msgstr ""
-msgid "Internal data stream error."
-msgstr ""
-
#, fuzzy
#~ msgid "Could not read title information for DVD."
#~ msgstr "Could not write to file \"%s\"."
diff --git a/po/eo.gmo b/po/eo.gmo
index f5e28a7..33b1d67 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 5bca572..ccb5e91 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.4.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2014-09-21 21:03+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -75,5 +75,5 @@
msgid "This stream contains no data."
msgstr "Tiu fluo enhavas neniun datumon."
-msgid "Internal data stream error."
-msgstr "Interna datum-flu-eraro."
+#~ msgid "Internal data stream error."
+#~ msgstr "Interna datum-flu-eraro."
diff --git a/po/es.gmo b/po/es.gmo
index 911d66e..0fb53f1 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 40a2f83..6436c41 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2011-10-02 15:45+0200\n"
"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -79,8 +79,8 @@
msgid "This stream contains no data."
msgstr "Este medio no contiene datos."
-msgid "Internal data stream error."
-msgstr "Error del flujo de datos interno."
+#~ msgid "Internal data stream error."
+#~ msgstr "Error del flujo de datos interno."
#~ msgid "Invalid title information on DVD."
#~ msgstr "Información del título del DVD no válida."
diff --git a/po/eu.gmo b/po/eu.gmo
index d44c832..f2a298f 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 000593d..3db57ef 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly-0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2010-03-07 13:12+0200\n"
"Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -80,8 +80,8 @@
msgid "This stream contains no data."
msgstr "Korronte honek ez du daturik."
-msgid "Internal data stream error."
-msgstr "Datu-korrontearen barne-errorea."
+#~ msgid "Internal data stream error."
+#~ msgstr "Datu-korrontearen barne-errorea."
#, fuzzy
#~ msgid ""
diff --git a/po/fi.gmo b/po/fi.gmo
index cc1f724..901d24b 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 24c982b..3a19c40 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.10.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2009-03-10 20:41+0200\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -78,8 +78,8 @@
msgid "This stream contains no data."
msgstr "Virta ei sisällä tietoa."
-msgid "Internal data stream error."
-msgstr "Sisäinen tietovirtavirhe."
+#~ msgid "Internal data stream error."
+#~ msgstr "Sisäinen tietovirtavirhe."
#, fuzzy
#~ msgid ""
diff --git a/po/fr.gmo b/po/fr.gmo
index c098d3e..6ef7f99 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index aba71d7..86d32da 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.7.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2015-12-27 01:51+0100\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
@@ -78,5 +78,5 @@
msgid "This stream contains no data."
msgstr "Ce flux ne contient aucune données."
-msgid "Internal data stream error."
-msgstr "Erreur du flux de données interne."
+#~ msgid "Internal data stream error."
+#~ msgstr "Erreur du flux de données interne."
diff --git a/po/gl.gmo b/po/gl.gmo
index fe87e2c..762b06c 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 8792fe9..5f898dc 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-12-15 03:47+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
@@ -80,5 +80,5 @@
msgid "This stream contains no data."
msgstr "Este fluxo non contén datos."
-msgid "Internal data stream error."
-msgstr "Erro de fluxo de datos interno."
+#~ msgid "Internal data stream error."
+#~ msgstr "Erro de fluxo de datos interno."
diff --git a/po/gst-plugins-ugly-1.0.pot b/po/gst-plugins-ugly-1.0.pot
index fbbca33..ed30ee1 100644
--- a/po/gst-plugins-ugly-1.0.pot
+++ b/po/gst-plugins-ugly-1.0.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-ugly 1.8.3\n"
+"Project-Id-Version: gst-plugins-ugly 1.9.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\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"
@@ -79,7 +79,3 @@
#: gst/asfdemux/gstasfdemux.c:446
msgid "This stream contains no data."
msgstr ""
-
-#: gst/asfdemux/gstasfdemux.c:453 gst/asfdemux/gstasfdemux.c:2127
-msgid "Internal data stream error."
-msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index afcbba7..30c7fa0 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 2b4c05f..2bf9dea 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.7.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2016-05-27 12:48-0700\n"
"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -78,5 +78,5 @@
msgid "This stream contains no data."
msgstr "Ovaj stream (tok podataka) ne sadrži podatke."
-msgid "Internal data stream error."
-msgstr "Interna greška toka (stream) podataka."
+#~ msgid "Internal data stream error."
+#~ msgstr "Interna greška toka (stream) podataka."
diff --git a/po/hu.gmo b/po/hu.gmo
index ddd3bc0..b4911d7 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index cb2507c..688a274 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-11-30 15:02+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -77,8 +77,8 @@
msgid "This stream contains no data."
msgstr "Ez az adatfolyam nem tartalmaz adatokat."
-msgid "Internal data stream error."
-msgstr "Belső adatfolyam-hiba."
+#~ msgid "Internal data stream error."
+#~ msgstr "Belső adatfolyam-hiba."
#~ msgid "Invalid title information on DVD."
#~ msgstr "A DVD címinformációi érvénytelenek."
diff --git a/po/id.gmo b/po/id.gmo
index f2a6dba..81ce2e9 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index ba79c23..4ad6517 100644
--- a/po/id.po
+++ b/po/id.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2014-01-27 20:04+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -14,6 +14,7 @@
"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"
msgid "Could not read from CD."
msgstr "Tak dapat membaca dari CD."
@@ -71,8 +72,8 @@
msgid "This stream contains no data."
msgstr "Arus ini tidak berisi data."
-msgid "Internal data stream error."
-msgstr "Galat arus data internal."
+#~ msgid "Internal data stream error."
+#~ msgstr "Galat arus data internal."
#~ msgid "Invalid title information on DVD."
#~ msgstr "Informasi judul tidak sah pada DVD."
diff --git a/po/it.gmo b/po/it.gmo
index 58ccbec..2c38e4b 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index f0fd704..93a541d 100644
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.11.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2009-06-14 12:31+0200\n"
"Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -78,8 +78,8 @@
msgid "This stream contains no data."
msgstr "Questo stream non contiene alcun dato."
-msgid "Internal data stream error."
-msgstr "Errore interno dello stream di dati."
+#~ msgid "Internal data stream error."
+#~ msgstr "Errore interno dello stream di dati."
#, fuzzy
#~ msgid ""
diff --git a/po/ja.gmo b/po/ja.gmo
index 1daeb46..6de6917 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 4561b15..bd1c374 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-12-22 19:42+0900\n"
"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -78,8 +78,8 @@
msgid "This stream contains no data."
msgstr "このストリームはデータを含んでいません。"
-msgid "Internal data stream error."
-msgstr "内部データストリームエラー。"
+#~ msgid "Internal data stream error."
+#~ msgstr "内部データストリームエラー。"
#~ msgid "Invalid title information on DVD."
#~ msgstr "DVD上のタイトル情報が不正です。"
diff --git a/po/lt.gmo b/po/lt.gmo
index 97a1023..b71334a 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index e1569d8..c3eb9aa 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly-0.10.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2008-05-14 02:52+0300\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -80,9 +80,6 @@
msgid "This stream contains no data."
msgstr "Šiame sraute nėra duomenų."
-msgid "Internal data stream error."
-msgstr ""
-
#, fuzzy
#~ msgid ""
#~ "Failed to configure LAMEMP3ENC encoder. Check your encoding parameters."
diff --git a/po/lv.gmo b/po/lv.gmo
index 7e6fefe..2973bd4 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index cc8dfaa..16cb55e 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2014-04-20 16:24+0300\n"
"Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@ -78,8 +78,8 @@
msgid "This stream contains no data."
msgstr "Šī straume nesatur datus."
-msgid "Internal data stream error."
-msgstr "Iekšēja datu plūsmas kļūda."
+#~ msgid "Internal data stream error."
+#~ msgstr "Iekšēja datu plūsmas kļūda."
#~ msgid "Invalid title information on DVD."
#~ msgstr "Nederīga DVD virsraksta informācija."
diff --git a/po/ms.gmo b/po/ms.gmo
index 98afb97..9d55278 100644
--- a/po/ms.gmo
+++ b/po/ms.gmo
Binary files differ
diff --git a/po/ms.po b/po/ms.po
index defe3d3..e5e2380 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly-0.10.11.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2009-07-16 15:07+0800\n"
"Last-Translator: Muhammad Najmi bin Ahmad Zabidi <najmi.zabidi@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
@@ -73,8 +73,8 @@
msgid "This stream contains no data."
msgstr "Aliran ini tiada data."
-msgid "Internal data stream error."
-msgstr "Ralat aliran data dalaman."
+#~ msgid "Internal data stream error."
+#~ msgstr "Ralat aliran data dalaman."
#, fuzzy
#~ msgid ""
diff --git a/po/mt.gmo b/po/mt.gmo
index 0eff9ec..9d66a18 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index ff3370c..b0ca05d 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly-0.10.9.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2008-11-13 18:18+0100\n"
"Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
"Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
@@ -77,8 +77,8 @@
msgid "This stream contains no data."
msgstr "L-istream ma fiha l-ebda data."
-msgid "Internal data stream error."
-msgstr "Problema interna fid-data stream."
+#~ msgid "Internal data stream error."
+#~ msgstr "Problema interna fid-data stream."
#, fuzzy
#~ msgid ""
diff --git a/po/nb.gmo b/po/nb.gmo
index 208aa7e..77b0662 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index adf92d5..8c61da7 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-12-21 21:38+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
@@ -75,8 +75,8 @@
msgid "This stream contains no data."
msgstr "Denne strømmen inneholde ikke data."
-msgid "Internal data stream error."
-msgstr "Intern feil i datastrøm."
+#~ msgid "Internal data stream error."
+#~ msgstr "Intern feil i datastrøm."
#~ msgid "This file is encrypted and cannot be played."
#~ msgstr "Denne filen er kryptert og kan ikke spilles av."
diff --git a/po/nl.gmo b/po/nl.gmo
index a19d5fe..b3af1a6 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 656e3f8..3db71a5 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.5.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2015-06-13 13:05+0200\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -77,8 +77,8 @@
msgid "This stream contains no data."
msgstr "Deze stroom bevat geen gegevens."
-msgid "Internal data stream error."
-msgstr "Fout met interne gegevensstroom."
+#~ msgid "Internal data stream error."
+#~ msgstr "Fout met interne gegevensstroom."
#~ msgid "Invalid title information on DVD."
#~ msgstr "Ongeldige titelinformatie op de DVD."
diff --git a/po/or.gmo b/po/or.gmo
index 4dc93e8..7810614 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 592a866..dcb054b 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-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\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"
@@ -70,9 +70,6 @@
msgid "This stream contains no data."
msgstr ""
-msgid "Internal data stream error."
-msgstr ""
-
#, fuzzy
#~ msgid "Could not read title information for DVD."
#~ msgstr "\"%s\" ଫାଇଲ ଲେଖିହେଲା ନାହିଁ."
diff --git a/po/pl.gmo b/po/pl.gmo
index e416280..5307930 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index a9ac99a..9150546 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-11-28 19:34+0100\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -75,5 +75,5 @@
msgid "This stream contains no data."
msgstr "Ten strumień nie zawiera danych."
-msgid "Internal data stream error."
-msgstr "Błąd wewnętrzny strumienia danych."
+#~ msgid "Internal data stream error."
+#~ msgstr "Błąd wewnętrzny strumienia danych."
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index a6e04df..3cfc05a 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 d8505a8..7e90a13 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly-1.7.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2015-12-28 19:54-0200\n"
"Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -79,8 +79,8 @@
msgid "This stream contains no data."
msgstr "Este fluxo não contém dados."
-msgid "Internal data stream error."
-msgstr "Erro interno no fluxo de dados."
+#~ msgid "Internal data stream error."
+#~ msgstr "Erro interno no fluxo de dados."
#~ msgid "Invalid title information on DVD."
#~ msgstr "As informações de título no DVD são inválidas."
diff --git a/po/ro.gmo b/po/ro.gmo
index 9603dd6..7e95139 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 852e64e..ebb84ba 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.14.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2010-08-16 03:32+0300\n"
"Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -75,8 +75,8 @@
msgid "This stream contains no data."
msgstr "Fluxul acesta nu conține date."
-msgid "Internal data stream error."
-msgstr "Eroare internă a fluxului de date."
+#~ msgid "Internal data stream error."
+#~ msgstr "Eroare internă a fluxului de date."
#, fuzzy
#~ msgid ""
diff --git a/po/ru.gmo b/po/ru.gmo
index 022111c..318e040 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index e61cd37..18205d4 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-12-01 13:38+0400\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
@@ -79,8 +79,8 @@
msgid "This stream contains no data."
msgstr "Поток не содержит данных."
-msgid "Internal data stream error."
-msgstr "Внутренняя ошибка потока данных."
+#~ msgid "Internal data stream error."
+#~ msgstr "Внутренняя ошибка потока данных."
#~ msgid "Invalid title information on DVD."
#~ msgstr "Неверные сведения о разделах на DVD."
diff --git a/po/sk.gmo b/po/sk.gmo
index b910108..f40c478 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index c04cac8..e40454c 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2014-01-30 10:28+0100\n"
"Last-Translator: Peter Tuharsky <tuharsky@misbb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -80,8 +80,8 @@
msgid "This stream contains no data."
msgstr "Tento prúd neobsahuje žiadne údaje."
-msgid "Internal data stream error."
-msgstr "Vnútorná chyba prúdu údajov."
+#~ msgid "Internal data stream error."
+#~ msgstr "Vnútorná chyba prúdu údajov."
#~ msgid "Invalid title information on DVD."
#~ msgstr "Chybný titul na DVD."
diff --git a/po/sl.gmo b/po/sl.gmo
index e0756a8..fcb828f 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 232999d..055038b 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-03-26 22:48+0100\n"
"Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -76,8 +76,8 @@
msgid "This stream contains no data."
msgstr "Pretok ne vsebuje podatkov."
-msgid "Internal data stream error."
-msgstr "Notranja napaka pretoka podatkov."
+#~ msgid "Internal data stream error."
+#~ msgstr "Notranja napaka pretoka podatkov."
#~ msgid "Failed to configure LAME encoder. Check your encoding parameters."
#~ msgstr ""
diff --git a/po/sq.gmo b/po/sq.gmo
index 1f07ba8..55b77e5 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 19fc9ac..8930b3b 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-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\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"
@@ -68,9 +68,6 @@
msgid "This stream contains no data."
msgstr ""
-msgid "Internal data stream error."
-msgstr ""
-
#, fuzzy
#~ msgid "Could not read title information for DVD."
#~ msgstr "I pamundur shkrimi tek file \"%s\"."
diff --git a/po/sr.gmo b/po/sr.gmo
index d3e161d..c3fbcd6 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 8c6508b..45dc8c0 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly-1.1.4\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2013-10-03 22:30+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
@@ -76,5 +76,5 @@
msgid "This stream contains no data."
msgstr "Овај ток не садржи податке."
-msgid "Internal data stream error."
-msgstr "Унутрашња грешка тока података."
+#~ msgid "Internal data stream error."
+#~ msgstr "Унутрашња грешка тока података."
diff --git a/po/sv.gmo b/po/sv.gmo
index 5ea4019..c3ab342 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index f4a2f20..4a26633 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2015-10-31 16:08+0100\n"
"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -16,6 +16,7 @@
"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"
"X-Generator: Poedit 1.8.6\n"
msgid "Could not read from CD."
@@ -78,5 +79,5 @@
msgid "This stream contains no data."
msgstr "Den här strömmen innehåller inget data."
-msgid "Internal data stream error."
-msgstr "Fel i intern dataström."
+#~ msgid "Internal data stream error."
+#~ msgstr "Fel i intern dataström."
diff --git a/po/tr.gmo b/po/tr.gmo
index b961ac8..e7bead8 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 7cbbccd..b9bcd1c 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly-1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-12-01 01:19+0200\n"
"Last-Translator: Server Acim <serveracim@gmail.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -74,8 +74,8 @@
msgid "This stream contains no data."
msgstr "Akış veri içermiyor."
-msgid "Internal data stream error."
-msgstr "İç veri akış hatası."
+#~ msgid "Internal data stream error."
+#~ msgstr "İç veri akış hatası."
#~ msgid "Invalid title information on DVD."
#~ msgstr "DVD'de geçersiz başlık bilgisi."
diff --git a/po/uk.gmo b/po/uk.gmo
index 0aaf662..85850c5 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index afb2fa1..43d7450 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2012-11-28 20:25+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -80,8 +80,8 @@
msgid "This stream contains no data."
msgstr "Потік не містить даних."
-msgid "Internal data stream error."
-msgstr "Помилка внутрішнього потоку даних."
+#~ msgid "Internal data stream error."
+#~ msgstr "Помилка внутрішнього потоку даних."
#~ msgid "This file is encrypted and cannot be played."
#~ msgstr "Файл зашифрований та не може бути відтворений."
diff --git a/po/vi.gmo b/po/vi.gmo
index d373fe6..73f65e2 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 29f82e7..59ca2a6 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2014-06-30 09:20+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -80,5 +80,5 @@
msgid "This stream contains no data."
msgstr "Luồng này không chứa dữ liệu."
-msgid "Internal data stream error."
-msgstr "Lỗi luồng dữ liệu nội bộ."
+#~ msgid "Internal data stream error."
+#~ msgstr "Lỗi luồng dữ liệu nội bộ."
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index cbf61fd..9272d16 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 dad10ab..eb0adc2 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -10,7 +10,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.5.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-08-19 12:02+0300\n"
+"POT-Creation-Date: 2016-09-30 12:22+0300\n"
"PO-Revision-Date: 2015-08-28 15:36+0800\n"
"Last-Translator: Mingye Wang <arthur200126@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -70,8 +70,8 @@
msgid "This stream contains no data."
msgstr "这个串流中没有包含数据."
-msgid "Internal data stream error."
-msgstr "内部数据流错误。"
+#~ msgid "Internal data stream error."
+#~ msgstr "内部数据流错误。"
#~ msgid "Invalid title information on DVD."
#~ msgstr "无效的 DVD 标题信息。"
diff --git a/win32/common/config.h b/win32/common/config.h
index 85117b9..45d5680 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -67,7 +67,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-08-19"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-09-30"
/* Define if static plugins should be built */
#undef GST_PLUGIN_BUILD_STATIC
@@ -256,7 +256,7 @@
#define PACKAGE_NAME "GStreamer Ugly Plug-ins"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Ugly Plug-ins 1.8.3"
+#define PACKAGE_STRING "GStreamer Ugly Plug-ins 1.9.90"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gst-plugins-ugly"
@@ -265,7 +265,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.8.3"
+#define PACKAGE_VERSION "1.9.90"
/* directory where plugins are located */
#ifdef _DEBUG
@@ -296,7 +296,7 @@
#undef TARGET_CPU
/* Version number of package */
-#define VERSION "1.8.3"
+#define VERSION "1.9.90"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */