=== release 1.14.0 ===

2018-03-19 20:19:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gst-plugins-ugly.doap:
	* meson.build:
	  Release 1.14.0

2018-03-19 20:19:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* 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-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-sid.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* docs/plugins/inspect/plugin-xingmux.xml:
	  Update docs

=== release 1.13.91 ===

2018-03-13 19:17:58 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gst-plugins-ugly.doap:
	* meson.build:
	  Release 1.13.91

2018-03-13 19:17:58 +0000  Tim-Philipp Müller <tim@centricular.com>

	* 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-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-sid.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* docs/plugins/inspect/plugin-xingmux.xml:
	  Update docs

2018-03-12 20:19:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  docs: plugins: minor addition to plugins list

2018-03-08 10:12:16 +0100  Michael Tretter <m.tretter@pengutronix.de>

	* configure.ac:
	  configure.ac: enable largefile support if possible
	  https://bugzilla.gnome.org/show_bug.cgi?id=793103

=== release 1.13.90 ===

2018-03-03 22:24:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gst-plugins-ugly.doap:
	* meson.build:
	  Release 1.13.90

2018-03-03 22:24:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-ugly-plugins.args:
	* 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-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-sid.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* docs/plugins/inspect/plugin-xingmux.xml:
	  Update docs

2018-03-01 19:07:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* meson.build:
	* tests/check/meson.build:
	  meson: enable more warnings

2018-02-28 10:07:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix build with newer x264 with support for multiple bit depths
	  libx264 used to be built for one specific bit depth, and if we
	  wanted to support multiple bit depths we would have to dynamically
	  load the right .so from different paths. That has changed now, and
	  libx264 can include support for multiple depths in the same lib,
	  so we don't need to do the dlopen() dance any more. We'll keep
	  the vtable stuff around until we can drop support for older x264.
	  gstx264enc.c:2927:36: error: ‘x264_bit_depth’ undeclared
	  https://bugzilla.gnome.org/show_bug.cgi?id=792111

2018-02-27 15:42:32 +0100  Alicia Boya García <aboya@igalia.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Add format example for option-string
	  https://bugzilla.gnome.org/show_bug.cgi?id=793879

2018-02-21 19:47:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: simplify GST_DISABLE_GST_DEBUG check and don't use add_global_*
	  add_global_arguments() can't be used in subprojects. It's
	  entirely possible that -ugly is a subproject but gstreamer
	  is picked up from an installed location, so we should
	  really use add_project_arguments() in both cases.

2018-02-15 19:44:21 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	* 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-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-sid.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* docs/plugins/inspect/plugin-xingmux.xml:
	* meson.build:
	  Back to development

=== release 1.13.1 ===

2018-02-15 17:10:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* configure.ac:
	* gst-plugins-ugly.doap:
	* meson.build:
	  Release 1.13.1

2018-02-15 17:07:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* 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-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-sid.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* docs/plugins/inspect/plugin-xingmux.xml:
	  docs: update plugin docs

2018-02-15 14:52:29 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/id.po:
	* po/it.po:
	* po/nl.po:
	* po/sv.po:
	  po: update translations

2018-02-08 19:09:45 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: make version numbers ints and fix int/string comparison
	  WARNING: Trying to compare values of different types (str, int).
	  The result of this is undefined and will become a hard error
	  in a future Meson release.

2018-02-04 12:03:36 +0100  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	  autotools: use -fno-strict-aliasing where supported
	  https://bugzilla.gnome.org/show_bug.cgi?id=769183

2018-01-30 20:34:52 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/sidplay/meson.build:
	* meson.build:
	  meson: use -fno-strict-aliasing where supported
	  https://bugzilla.gnome.org/show_bug.cgi?id=769183

2018-01-03 16:02:08 +0100  Edward Hervey <edward@centricular.com>

	* ext/amrnb/amrnbdec.c:
	  amrnbdec: Don't use g_return_*_if_fail() on data parsing
	  Those functions can be disabled. Instead just use the (existing)
	  function.
	  CID #1427121

2018-01-03 16:02:08 +0100  Edward Hervey <edward@centricular.com>

	* ext/amrwbdec/amrwbdec.c:
	  amrwbdec: Don't use g_return_*_if_fail() on data parsing
	  Those functions can be disabled. Instead just use the (existing)
	  function.
	  CID #1427093

2017-12-26 13:51:37 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: skip translations if gettext is not available

2017-12-14 14:49:17 +1100  Matthew Waters <matthew@centricular.com>

	* common:
	  Automatic update of common submodule
	  From e8c7a71 to 3fa2c9e

2017-12-07 15:52:58 +0900  Justin Kim <justin.kim@collabora.com>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: add 'insert-vui' property for users to choose
	  VUI(Video Usability Information) parameters should be set
	  according to the specification. However, some of the existing
	  hardware decoders refuse to decode in certain combinations of
	  the resolution and VUI parameters. To support the legacy
	  decoders, this patch provides 'insert-vui' to skip the settings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=791331

2017-12-06 13:01:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/cdio/gstcdio.c:
	* ext/cdio/gstcdio.h:
	* ext/cdio/gstcdiocddasrc.c:
	  cdio: Fix build with cdio >= 1.0
	  LIBCDIO_VERSION_NUM was defined as e.g. 94 for 0.94 but is now defined
	  as 1 for 1.0. We had various checks for < 83, which of course succeeded
	  now although we are >= 0.83.
	  Fix this by checking for < 76 (0.76) too, as that is the minimum version
	  we currently support and everything < 76 is going to be >= 1.0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=791301

2017-11-27 20:11:56 +1100  Matthew Waters <matthew@centricular.com>

	* common:
	  Automatic update of common submodule
	  From 3f4aa96 to e8c7a71

2017-11-26 15:05:14 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	  configure: actually use -fvisibility if supported
	  Fix up for previous commit.

2017-11-26 14:49:21 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	  autotools: stop controlling symbol visibility with -export-symbols-regex
	  Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT.
	  This should result in consistent behaviour for the autotools and
	  Meson builds.

2017-11-13 11:13:30 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Fix prerolling files with "empty" streams
	  This is a regression that was introduced by
	  commit 1803b3c18530cb0100d140c2b8e49a8dfe41f941
	  "    asfdemux: Add support for dvr-ms"
	  The problem is that some files/streams might contain stream definition
	  but there is no actual packets for those streams.
	  This was used to "define" streams with different bitrates for example.
	  The first_ts calculation resulted in never ever finding a valid first_ts
	  since some streams were empty, and therefore never "activating" itself.
	  Instead of that we first check if we are prerolled. And if we are we
	  unconditionally get the "first_ts"
	  The preroll check has been adapted to check whether streams of
	  each defined type (i.e. audio/video/sub) has been prerolled. This solves
	  the problem of having different streams of a particular type where only
	  one stream actually has data.

2017-11-13 11:09:31 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Store the stream type in streams
	  The field was present but never set :)

2017-09-26 10:11:24 +0530  Ponnam Srinivas <p.srinivas@samsung.com>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Fix out buffer memory leak in error code path
	  https://bugzilla.gnome.org/show_bug.cgi?id=788119

2017-09-15 17:06:58 +0530  Deepak Srivastava <srivastava.d@samsung.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Fix buffer memory leak in error code path
	  https://bugzilla.gnome.org/show_bug.cgi?id=787817

2017-09-07 13:27:26 +0530  Satya Prakash Gupta <sp.gupta@samsung.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Unmap output video frame if copying to it fails
	  https://bugzilla.gnome.org/show_bug.cgi?id=787398

2017-08-31 11:33:14 +0530  Satya Prakash Gupta <sp.gupta@samsung.com>

	* gst/realmedia/asmrules.c:
	  realmedia: fix leak in asmrules error code path
	  https://bugzilla.gnome.org/show_bug.cgi?id=787056

2017-08-30 18:41:28 +0530  Satya Prakash Gupta <sp.gupta@samsung.com>

	* gst/realmedia/rtspreal.c:
	  realmedia: Fix Memory leak in error case
	  https://bugzilla.gnome.org/show_bug.cgi?id=787014

2017-08-26 13:02:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/files/Makefile.am:
	* tests/files/cbr_stream.mp3:
	* tests/files/stream.mp2:
	* tests/files/vbr_stream.mp3:
	  tests: remove files that were used by the mpg123 unit test

2017-08-26 09:35:20 +0100  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	* REQUIREMENTS:
	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/inspect/plugin-twolame.xml:
	* ext/Makefile.am:
	* ext/meson.build:
	* ext/twolame/Makefile.am:
	* ext/twolame/gsttwolamemp2enc.c:
	* ext/twolame/gsttwolamemp2enc.h:
	* ext/twolame/meson.build:
	* po/POTFILES.in:
	  Remove twolame plugin, moved to -good
	  https://bugzilla.gnome.org/show_bug.cgi?id=774252

2017-08-26 08:51:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	* REQUIREMENTS:
	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* docs/plugins/inspect/plugin-lame.xml:
	* ext/Makefile.am:
	* ext/lame/Makefile.am:
	* ext/lame/gstlamemp3enc.c:
	* ext/lame/gstlamemp3enc.h:
	* ext/lame/meson.build:
	* ext/lame/plugin.c:
	* ext/meson.build:
	* m4/Makefile.am:
	* m4/as-liblame.m4:
	* po/POTFILES.in:
	* tests/check/Makefile.am:
	* tests/check/gst-plugins-ugly.supp:
	* tests/check/meson.build:
	* tests/check/pipelines/.gitignore:
	* tests/check/pipelines/lame.c:
	  Remove lame plugin, moved to -good
	  https://bugzilla.gnome.org/show_bug.cgi?id=774252

2017-08-20 14:31:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	* REQUIREMENTS:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/inspect/plugin-mpg123.xml:
	* ext/Makefile.am:
	* ext/meson.build:
	* ext/mpg123/Makefile.am:
	* ext/mpg123/gstmpg123audiodec.c:
	* ext/mpg123/gstmpg123audiodec.h:
	* ext/mpg123/meson.build:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/mpg123audiodec.c:
	* tests/check/meson.build:
	  Remove mpg123 plugin, moved to -good
	  https://bugzilla.gnome.org/show_bug.cgi?id=774252

2017-08-17 12:23:43 +0100  Tim-Philipp Müller <tim@centricular.com>

	* README:
	* common:
	  Automatic update of common submodule
	  From 48a5d85 to 3f4aa96

2017-08-10 15:48:27 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/sidplay/meson.build:
	  sidplay: hide symbols in meson for this c++ plugin too
	  Keep things local, as this is the only c++ plugin
	  in ugly currently.

2017-08-10 11:55:58 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: don't export symbols by default
	  Only plugin entry points should be exported.
	  Currently plugins might export more symbols with
	  the meson build, as we don't have the exports
	  regexp there that we pass to libtool.

2017-08-09 19:31:56 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* ext/x264/gstx264enc.c:
	  x264enc: add FIXME note for future configuration cleanup

2017-07-25 13:36:17 +0530  Satya Prakash Gupta <sp.gupta@samsung.com>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: Fix string memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=785388

2017-07-15 15:01:09 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix indentation

2017-07-15 14:59:42 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix caps leak
	  Move creation of supported sink pads into class_init function
	  which is also the only place where they're used. Unref the
	  caps when no longer needed, the pad template will take its
	  own ref.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784982

2017-07-15 14:57:49 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123audiodec: fix caps leak
	  The pad template takes its own ref, so we should unref the caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784982

2017-07-15 12:49:19 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/meson.build:
	  meson: po: use glib preset and read language list from LINGUAS
	  Supported since meson 0.37, so we can use it now.

2017-07-11 14:21:41 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  dvdlpmdec: Fix overrun from coverity
	  CID #1414801

2017-07-07 11:58:36 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: find python3 via python3 module
	  https://bugzilla.gnome.org/show_bug.cgi?id=783198

2017-07-05 18:58:35 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.h:
	  dvdlpcmdec: Added support for Blu-Ray audio
	  https://bugzilla.gnome.org/show_bug.cgi?id=784552

2017-06-27 11:48:08 +0200  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: More index handling
	  In the same vein as the previous commit, the end of the file might have been
	  cut and therefore contains bogus data.
	  If the object is too short, consider it as garbage and return a non-fatal
	  flow.
	  Regression introduced in 97294eb8bbed1b9dad7d3f2c52dd69eb1812cc06

2017-06-27 10:25:42 +0200  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux; Don't assume index is present at end of file
	  Some files have garbage at the end of the file, don't error out if we don't
	  find the index there.
	  Reverts back to previous behaviour (where corrupted/missing indexex were
	  not a fatal error).
	  Regression introduced in 97294eb8bbed1b9dad7d3f2c52dd69eb1812cc06

2017-06-26 09:49:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: fix with-package-name option
	  https://bugzilla.gnome.org/show_bug.cgi?id=784082

2017-06-14 21:08:31 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: adjust segment start to a keyframe ts only for a KEYUNIT seek
	  ... which is how it has always been until changed coincidentally in commit
	  9ee60482b265481d0e3b397044f560eb736e5429 which then prompted commit
	  dba14178ce6115b406ef86e356b1201463af5e2a to consider ACCURATE as well
	  to compensate for that in a lateral way

2017-06-14 20:56:16 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* ext/x264/gstx264enc.c:
	  x264enc: relax bframes upper limit count to maximum encoder supported

2017-06-23 23:44:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/sidplay/meson.build:
	  meson: don't error out if sidplay library is not found

2017-06-23 18:33:24 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/meson.build:
	* ext/sidplay/meson.build:
	  meson: build sid plugin
	  https://bugzilla.gnome.org/show_bug.cgi?id=784135

2017-06-21 21:23:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/x264/gstx264enc.c:
	  x264: fix memory leak
	  When the allowed caps are the same of template caps the allowed
	  caps are not unrefed, leaking memory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784060

2017-06-07 12:08:43 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/check/meson.build:
	  meson: Do not use path separator in test names
	  Avoiding warnings like:
	  WARNING: Target "elements/audioamplify" has a path separator in its name.

2017-06-06 21:48:19 -0700  Thiago Santos <thiagossantos@gmail.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix checking for header objects
	  The if 'and' condition was mixed up with the last parameter of the
	  function and would lead to wrong results

2017-05-21 17:49:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	* config.h.meson:
	* meson.build:
	  meson: don't need config.h.meson any longer

2017-05-20 14:58:37 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	* meson_options.txt:
	  meson: add options to set package name and origin
	  https://bugzilla.gnome.org/show_bug.cgi?id=782172

2017-05-19 20:05:02 +0200  Jan Schmidt <jan@centricular.com>

	* tests/check/meson.build:
	  Add gstvideo_dep for meson mpeg2dec test build

2017-05-19 18:59:17 +0200  Jan Schmidt <jan@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/elements/mpeg2dec.c:
	  mpeg2dec test: Fix expected output caps
	  In the absence of explicit info, video decoders
	  now output mono multiview caps by default, so make
	  the expected caps match that

2017-05-16 14:07:56 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* config.h.meson:
	* configure.ac:
	* ext/a52dec/Makefile.am:
	* ext/amrnb/Makefile.am:
	* ext/amrwbdec/Makefile.am:
	* ext/cdio/Makefile.am:
	* ext/dvdread/Makefile.am:
	* ext/lame/Makefile.am:
	* ext/mpeg2dec/Makefile.am:
	* ext/mpg123/Makefile.am:
	* ext/sidplay/Makefile.am:
	* ext/twolame/Makefile.am:
	* ext/x264/Makefile.am:
	* gst/asfdemux/Makefile.am:
	* gst/dvdlpcmdec/Makefile.am:
	* gst/dvdsub/Makefile.am:
	* gst/realmedia/Makefile.am:
	* gst/xingmux/Makefile.am:
	  Remove plugin specific static build option
	  Static and dynamic plugins now have the same interface. The standard
	  --enable-static/--enable-shared toggle are sufficient.

2017-05-09 09:45:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/sidplay/gstsiddec.cc:
	  sid: Make plugin name match plugin file name

2017-05-04 18:59:14 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	* meson.build:
	  Back to development

=== release 1.12.0 ===

2017-05-04 15:39:25 +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:
	* 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-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:
	* meson.build:
	  Release 1.12.0

2017-05-04 15:12:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/fur.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

2017-05-04 13:47:56 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/id.po:
	* po/sv.po:
	  po: Update translations

=== release 1.11.91 ===

2017-04-27 17:33:23 +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:
	* 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-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:
	* meson.build:
	  Release 1.11.91

2017-04-27 16:08:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/fur.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

2017-04-27 15:29:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/LINGUAS:
	* po/fur.po:
	* po/id.po:
	* po/sv.po:
	  po: Update translations

2017-04-27 12:42:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/x264/gstx264enc.h:
	  x264: Use __declspec(dllimport) with MinGW too
	  x264.h says this isn't needed with MinGW, but it looks like it is.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=779249

2017-04-24 20:28:15 +0100  Tim-Philipp Müller <tim@centricular.com>

	* common:
	  Automatic update of common submodule
	  From 60aeef6 to 48a5d85

2017-04-10 23:49:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From 39ac2f5 to 60aeef6

=== release 1.11.90 ===

2017-04-07 16:34:22 +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:
	* 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-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:
	* meson.build:
	  Release 1.11.90

2017-04-07 15:33:31 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2017-04-07 15:07:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/id.po:
	* po/sv.po:
	  po: Update translations

2017-03-28 14:18:38 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/check/meson.build:
	  meson: test: Fix environment object usage
	  And use get_pkgconfig_variable instead of calling pkg-config ourself

2017-03-20 17:06:16 +0000  Tim-Philipp Müller <tim@centricular.com>

	* REQUIREMENTS:
	  REQUIREMENTS: update for mad mp3 decoder removal
	  https://bugzilla.gnome.org/show_bug.cgi?id=776140

2017-03-12 11:57:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* Makefile.am:
	  Add libgstrmdemux.so to cruft list
	  This was renamed to libgstrealmedia.so, this fixes helps fixing
	  uninstalled setup.
	  https://bugzilla.gnome.org/show_bug.cgi?id=779344

2017-03-04 11:09:33 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/inspect/plugin-realmedia.xml:
	* gst/realmedia/Makefile.am:
	* gst/realmedia/meson.build:
	  Rename plugin filenames to match plugin names
	  libgstrmdemux.so becomes libgstrealmedia.so
	  https://bugzilla.gnome.org/show_bug.cgi?id=779344

2017-03-01 23:00:55 +1100  Jan Schmidt <jan@centricular.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Fix latency calculation
	  The latency calculation was missing a scaling by GST_SECOND,
	  so it would always report a tiny latency. Fix that.
	  Spotted by Guillaume Desmottes.

2017-02-27 20:55:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Fix compilation with gcc 7
	  gstasfdemux.c: In function 'gst_asf_demux_parse_stream_object':
	  gstasfdemux.c:3001:39: error: '<<' in boolean context, did you mean '<' ? [-Werror=int-in-bool-context]
	  is_encrypted = ! !((flags & 0x8000) << 15);
	  ~~~~~~~~~~~~~~~~~~^~~~~~
	  https://bugzilla.gnome.org/show_bug.cgi?id=779329

2017-02-25 21:48:46 -0300  Edgard Lima <edgard.lima@gmail.com>

	* ext/amrwbdec/amrwb.c:
	* ext/amrwbdec/amrwbdec.h:
	  Update Edgard Lima's email
	  https://bugzilla.gnome.org/show_bug.cgi?id=779230

2017-02-24 15:59:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* meson.build:
	  meson: Update version

2017-02-24 15:37:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.11.2 ===

2017-02-24 15:07:54 +0200  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-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:
	  Release 1.11.2

2017-02-24 12:57:00 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2017-02-24 12:45:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/id.po:
	* po/sv.po:
	  po: Update translations

2017-02-14 19:56:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	  meson: dist meson build files
	  Ship meson build files in tarballs, so people who use tarballs
	  in their builds can start playing with meson already.

2017-02-01 03:08:10 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264: Initialize function vtable in plugin_init()
	  These values are defined in the x264.h header and are not const on
	  Windows due to the way DLLs work. See:
	  https://msdn.microsoft.com/en-us/library/619w14ds.aspx
	  https://msdn.microsoft.com/en-us/library/zw3za17w.aspx
	  https://bugzilla.gnome.org/show_bug.cgi?id=777903

2017-01-31 13:50:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Check that we have enough data available before parsing bool/uint extended content descriptors
	  https://bugzilla.gnome.org/show_bug.cgi?id=777955

2017-01-30 15:39:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Reset number of languages to 0 when freeing the array because of errors
	  Otherwise we will happily index into the array at NULL if the requested
	  index is smaller than the number of languages that were previously
	  allocated.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777937

2017-01-24 19:24:10 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/check/meson.build:
	  meson: Properly use ':' for defining keywords

2017-01-13 12:39:09 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: bump version

2017-01-12 16:32:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.11.1 ===

2017-01-12 16:10:25 +0200  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-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:
	  Release 1.11.1

2017-01-12 14:45:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2017-01-12 14:37:02 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/hr.po:
	* po/id.po:
	* po/sv.po:
	  po: Update translations

2016-12-16 16:52:00 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* ext/amrnb/meson.build:
	* ext/x264/meson.build:
	* meson.build:
	  meson: Install presets files

2015-06-26 20:22:47 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* ext/x264/GstX264Enc.prs:
	  x264enc: Add a youtube preset.
	  Based on https://support.google.com/youtube/answer/1722171
	  https://bugzilla.gnome.org/show_bug.cgi?id=751560

2016-12-28 10:42:15 +0000  Tim-Philipp Müller <tim@centricular.com>

	* config.h.meson:
	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/inspect/plugin-mad.xml:
	* ext/Makefile.am:
	* ext/mad/Makefile.am:
	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	* ext/mad/meson.build:
	* ext/meson.build:
	  mad: remove plugin
	  We have better replacements such as the mpg123 plugin.
	  The main reason to keep around mad was for 'freeform'
	  mp3 support, but mpg123 can handle those too nowadays.
	  Also, mad is GPL and has been unmaintained for years.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776140

2016-12-16 19:07:51 +0000  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	* configure.ac:
	* win32/MANIFEST:
	* win32/common/.gitignore:
	* win32/common/config.h:
	  win32: remove platform-specific copies of generated headers
	  Unused and no longer needed.

2016-12-14 10:24:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* .gitignore:
	* Makefile.am:
	* configure.ac:
	* gst-plugins-ugly.spec.in:
	  Remove generated .spec file
	  Likely extremely bitrotten, and we should not ship this anyway.

2016-12-09 17:45:34 -0300  Thibault Saunier <tsaunier@gnome.org>

	* meson.build:
	  meson: Support building without Gst debug

2016-12-03 08:19:44 +0100  Edward Hervey <bilboed@bilboed.com>

	* README:
	* common:
	  Automatic update of common submodule
	  From f980fd9 to 39ac2f5

2016-12-02 14:06:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Fix memory leak of payload extensions for unusable/unsupported streams
	  https://bugzilla.gnome.org/show_bug.cgi?id=775515

2016-11-30 18:11:30 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* ext/x264/gstx264enc.c:
	  x264enc: Add information for mixed mode
	  https://bugzilla.gnome.org/show_bug.cgi?id=775411

2016-11-30 17:30:33 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* ext/x264/gstx264enc.c:
	  x264enc: Correctly pass interlacing/TFF information
	  Give the interlacing information correctly to the encoder. Also parse
	  TFF/BFF information from the caps and pass it too.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775411

2016-11-28 15:14:18 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* ext/x264/gstx264enc.c:
	  x264enc: Auto-detect interlace mode from caps
	  If the caps are interlaced, interlacing is always enabled on the
	  encoder. If the interlace-mode field is missing or if it's progressive,
	  the encoder uses the "interlaced" property.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775228

2016-11-26 11:20:51 +0000  Tim-Philipp Müller <tim@centricular.com>

	* .gitmodules:
	  common: use https protocol for common submodule
	  https://bugzilla.gnome.org/show_bug.cgi?id=775110

2016-11-25 23:51:00 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/realhash.c:
	  real: Fix compiler warnings with latest clang
	  realhash.c:295:11: error: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Werror,-Wconstant-conversion]
	  *buf1 = 128;
	  ~ ^~~
	  https://bugzilla.gnome.org/show_bug.cgi?id=775112

2016-11-25 12:41:03 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Allow 64bit sizes for DATA object
	  we *can* have files greater than 4GB, any other object should be
	  smaller than that

2016-11-25 10:07:35 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Add sanity check for asf_stream_audio
	  We should have enough bytes for the specified codec_data
	  https://bugzilla.gnome.org/show_bug.cgi?id=775070

2016-11-25 09:45:04 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Add sanity checks when reading asf_stream_video_format
	  It should report a size of at least 40 bytes
	  Also check for the size of the remaining data (i.e. codec_data)
	  https://bugzilla.gnome.org/show_bug.cgi?id=775070

2016-11-25 09:44:05 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Add check for invalid/corrupt asf object
	  An asf object can't realistically be bigger than 2**32 bytes.
	  If it reports a size bigger than that, consider it corrupt and properly
	  propagate the error back.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775070

2016-11-22 17:14:44 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Handle EOS in push-mode on corrupted files
	  It is possible no streams were activated when receiving EOS, if so
	  handled it as if we hadn't seen the header
	  https://bugzilla.gnome.org/show_bug.cgi?id=774846

2016-11-22 16:56:04 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: FILE headers are mandatory in the header
	  As per the specification, also avoids ending up trying to play a
	  file with plenty of un-initialized values.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774846

2016-11-22 16:54:26 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Handle incomplete header in pull mode
	  pulling headers is meant to complete as a whole. If we don't have
	  enough data, it's an error.
	  Avoids pipeline hangs on corrupted files
	  https://bugzilla.gnome.org/show_bug.cgi?id=774846

2016-11-22 16:22:49 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Handle issues with "empty" files
	  In some corrupted files, we could end up with no actual streams
	  being exposed.
	  In those cases, make sure we properly propagate the failure all
	  the way to the loop function. This avoids ending up in cases where
	  we are neither EOS'd nor ERROR'd out from a pipeline point of view.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774846

2016-11-20 20:54:25 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: dvd-spu-clut-change is a sticky custom event

2016-11-17 17:20:03 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* meson.build:
	  meson: Add ignored warnings for MSVC
	  https://bugzilla.gnome.org/show_bug.cgi?id=774656

2016-11-11 14:15:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	* ext/x264/Makefile.am:
	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	* ext/x264/meson.build:
	* meson_options.txt:
	  x264enc: Add configure parameter to specify additional x264 libraries with e.g. different depth configuration
	  x264 has to be compiled specifically for a target bit depth.
	  Distributions currently ship various libraries in their packages, with
	  different bit depths.
	  This change now allows to provide them all at configure time and have
	  the x264enc element dynamically switch between them based on the bit
	  depth of the input format.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763297

2016-11-01 18:09:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: update version

=== release 1.11.0 ===

2016-11-01 18:53:15 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.10.0 ===

2016-11-01 18:05:31 +0200  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:
	* 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.10.0

2016-11-01 17:54:16 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2016-11-01 17:43:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/id.po:
	* po/sv.po:
	  po: Update translations

2016-10-25 08:54:52 -0700  Scott D Phillips <scott.d.phillips@intel.com>

	* meson.build:
	* tests/meson.build:
	  meson: Don't depend on gstreamer-check-1.0 on windows
	  https://bugzilla.gnome.org/show_bug.cgi?id=773114

2016-10-25 10:51:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson.build:
	* tests/check/meson.build:
	* tests/meson.build:
	  Revert "meson: move gstreamer-check-1.0 dependency to tests/check"
	  This reverts commit 0555c09607e548b6c45d029ab31dbb3042195ae3.
	  Does not actually work. See:
	  https://bugzilla.gnome.org/show_bug.cgi?id=773114#c31

2016-10-24 00:35:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  meson: fix build outside of gst-all

2016-10-21 00:47:14 -0700  Scott D Phillips <scott.d.phillips@intel.com>

	* meson.build:
	* tests/check/meson.build:
	* tests/meson.build:
	  meson: move gstreamer-check-1.0 dependency to tests/check
	  https://bugzilla.gnome.org/show_bug.cgi?id=773114

2016-10-15 22:20:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson.build:
	  meson: Don't set c_std to gnu99
	  Use the default for each compiler on every platform instead. This
	  improves our compatibility with compilers that don't have gnu99 as
	  a c_std.

2016-10-04 18:06:09 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* meson.build:
	* tests/check/getpluginsdir:
	* tests/check/meson.build:
	  meson: Make use of new environment object and set plugin path to builddir
	  Workaround source_root being the root directory of all projects
	  in the subproject case and remove now unneeded getpluginsdir
	  Bump meson requirement to 0.35

2016-09-30 11:35:40 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* hooks/pre-commit.hook:
	* meson.build:
	* tests/check/getpluginsdir:
	  meson: Setup pre commit hook and fix getpluginsdir for standalone case

2016-09-30 11:41:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: update version

=== release 1.9.90 ===

2016-09-30 13:03:26 +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:
	* 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.90

2016-09-30 12:23:17 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

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:
	* 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:
	  po: Update translations

2016-09-01 10:57:46 +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:
	* RELEASE:
	* configure.ac:
	* 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.1

2016-07-06 11:54:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

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:
	  asfdemux: fix seeking back after EOS has been reached in push mode
	  Fix seeking when demuxer is in INDEX state. This happens when we
	  reached the end of the stream. It should still be possible to do
	  a flushing seek and seek back to any other position though. Instead
	  the demuxer would just go straight to EOS again instead of going
	  back to processing packets again from the new position.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749066

2016-05-17 16:00:29 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/realmedia/rdtmanager.c:
	  rdtmanager: fix clock leak
	  The clock returned by gst_system_clock_obtain() was never unreffed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766565

2016-05-15 13:33:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* 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:
	  docs: Update for git master

2016-04-16 09:15:43 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2016-03-24 12:43:04 +0200  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:
	* 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.8.0

2016-03-24 12:18:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

=== release 1.7.91 ===

2016-03-15 12:21:07 +0200  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:
	* 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.7.91

2016-03-15 12:03:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2016-03-08 12:26:01 +0100  Edward Hervey <edward@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Don't modify segment values on accurate seeks
	  When dealing with accurate seeks, we want to return exactly the segment
	  that was requested by the seek event, and not adjust the values.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755469

=== release 1.7.90 ===

2016-03-01 18:42:01 +0200  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:
	* 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.7.90

2016-03-01 17:18:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.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

2016-03-01 16:54:07 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/bg.po:
	  po: Update translations

2016-02-27 20:17:31 +0100  Jens Georg <mail@jensge.org>

	* ext/dvdread/dvdreadsrc.c:
	  dvdread: Fix seek starting at 0 for title != 1
	  Otherwise the playback would start at title 0
	  https://bugzilla.gnome.org/show_bug.cgi?id=762787

2016-02-26 12:41:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* common:
	  Automatic update of common submodule
	  From b64f03f to 6f2d209

2016-02-22 22:08:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix adding bitrate to stream tags
	  https://bugzilla.gnome.org/show_bug.cgi?id=699586

2016-02-21 10:11:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/asfdemux/asf.vcproj:
	* gst/realmedia/rmdemux.vcproj:
	* win32/MANIFEST:
	* win32/gst.sln:
	* win32/vs6/gst_plugins_ugly.dsw:
	* win32/vs6/libgstasfdemux.dsp:
	* win32/vs6/libgstdvdlpcmdec.dsp:
	* win32/vs6/libgstdvdsub.dsp:
	* win32/vs6/libgstlame.dsp:
	* win32/vs6/libgstmad.dsp:
	* win32/vs6/libgstrealmedia.dsp:
	* win32/vs6/libgstsynaesthesia.dsp:
	  win32: remove outdated build cruft
	  This hasn't been touched for generations, doesn't work,
	  and is just causing confusion. We also don't want to
	  maintain these files manually.

2016-02-20 11:55:37 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: don't use exported but undeclared core debug category symbols
	  It's not right and won't work on Windows with MSVC.

2016-02-19 12:38:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.7.2 ===

2016-02-19 11:58:13 +0200  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:
	* 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.7.2

2016-02-19 11:21:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/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/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

2016-02-19 10:32:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/fr.po:
	* po/pt_BR.po:
	  po: Update translations

2016-02-18 00:25:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/sidplay/gstsiddec.cc:
	  sidplay: Fix compiler warning about C++11 compatibility
	  gstsiddec.cc:78:17: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
	  #define FORMATS "{ "GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)", S8, U8 }"
	  ^
	  gstsiddec.cc:78:38: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
	  #define FORMATS "{ "GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)", S8, U8 }"
	  ^

2016-02-16 14:46:11 +0000  Tim-Philipp Müller <tim@centricular.com>

	* 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:
	  docs: update inspection to git and fix mpg123 inspect location

2016-02-16 12:23:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/files/Makefile.am:
	* tests/files/stream.mp2:
	  tests: fix distcheck

2016-02-16 10:38:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/xml/plugin-mpg123.xml:
	* ext/Makefile.am:
	* gst-plugins-ugly.spec.in:
	* tests/check/Makefile.am:
	  mpg123: move from -bad to -ugly
	  Hook up to build system, add to docs

2016-02-16 10:55:01 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	* tests/Makefile.am:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/files/Makefile.am:
	* tests/files/cbr_stream.mp3:
	* tests/files/vbr_stream.mp3:
	  tests: add test data for mpg123 plugin

2016-02-16 10:41:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	  Merge branch 'plugin-move-mpg123'
	  Move mpg123 plugin from -bad to -ugly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=719849

2015-12-14 11:09:46 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  plugins-bad: Fix example pipelines
	  rename gst-launch --> gst-launch-1.0
	  replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
	  fix caps in examples
	  https://bugzilla.gnome.org/show_bug.cgi?id=759432

2015-08-17 11:50:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: still reset pending audio info on hard flush
	  Follow-up to previous commit.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752431

2015-07-15 10:44:02 -0600  Jason Litzinger <jlitzinger@control4.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: fix handling of sample rate change during playback
	  If the sample rate of the media changes, the resulting flush will
	  clear the has_next_audioinfo flag, and the caps won't be sent
	  downstream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752431

2015-08-15 12:58:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  audiodecoders: use default pad accept-caps handling
	  Avoids useless check of downstream caps when handling an
	  accept-caps query
	  Elements: dtsdec, faad, gsmdec, mpg123audiodec, opusdec,
	  sbcdec, adpcmdec, sirendec

2015-04-26 18:04:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/mpg123/Makefile.am:
	  Remove obsolete Android build cruft
	  This is not needed any longer.

2015-01-11 01:08:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: fix compiler warning and simplify checks in set_caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=740195

2015-01-03 13:06:45 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: rework set_format code so mpg123audiodec works with decodebin/playbin
	  The old code was using gst_caps_normalize() and was generally overly
	  complex. Simplify by picking sample rate and number of channels from
	  upstream and the sample format from the allowed caps. If the format caps
	  is a list of strins, just pick the first one. And if the srcpad isn't
	  linked yet, use the default format (S16).
	  https://bugzilla.gnome.org/show_bug.cgi?id=740195

2014-09-10 17:24:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  Fix up one-element lists in template caps

2014-03-05 00:51:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/mpg123audiodec.c:
	  tests: fix mpg123audiodec test for big-endian architectures

2014-02-04 17:22:27 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: improved error report and checks
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

2013-12-05 12:04:39 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123audiodec: Require caps to be set before any data processing

2013-07-26 17:25:42 +0200  Edward Hervey <edward@collabora.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: Remove dead assignment
	  harder ? :)

2013-05-15 11:25:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/mpg123audiodec.c:
	  mpg123audiodec: Fix event handling in unit test

2012-10-24 12:16:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpg123/Makefile.am:
	  gst: Add better support for static plugins

2013-04-15 00:22:39 -0700  David Schleef <ds@schleef.org>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: Add conditional on API version for new enum

2016-02-05 19:11:38 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/check/Makefile.am:
	  tests: extend the AM_TESTS_ENVIRONMENT from check.mak
	  To get the CK_DEFAULT_TIMEOUT defined for all tests
	  https://bugzilla.gnome.org/show_bug.cgi?id=761472

2016-02-05 18:07:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From 86e4663 to b64f03f

2016-01-25 20:00:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	* ext/amrnb/amrnbdec.h:
	* ext/amrnb/amrnbenc.h:
	* ext/amrwbdec/amrwbdec.h:
	  amrnb, amrwb: unconditionally depend on opencore-amr*b >= 0.1.3
	  We don't really need to cater for older versions any more.

2016-01-21 17:34:38 +0100  Edward Hervey <edward@centricular.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Demote rank to SECONDARY
	  https://bugzilla.gnome.org/show_bug.cgi?id=574461

2016-01-08 21:40:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvdsubdec: use query caps instead of accept-caps
	  accept-caps does only a shallow check and a full downstream
	  caps query is needed to check if ARGB is possible

2015-10-30 11:06:11 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Support reverse playback
	  Support reverse playback for ASF format.
	  Parse packets and queue the payloads, then push
	  the payload buffer to decoder in reverse order.
	  Video buffers are pushed from KeyFrame to next
	  Keyframe.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757341

2015-12-24 15:28:46 +0100  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

2015-12-24 14:48:50 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/amrnbenc.c:
	  amrnbenc: Fix various compiler warnings in the test

2015-12-24 14:48:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/x264enc.c:
	  x264enc: Fix various compiler warnings in the test

=== release 1.7.1 ===

2015-12-24 14:41:21 +0100  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:
	* 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-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.7.1

2015-12-24 14:10:29 +0100  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2015-12-24 12:23:27 +0100  Sebastian Dröge <sebastian@centricular.com>

	* po/id.po:
	* po/sv.po:
	  po: Update translations

2015-12-21 12:32:32 +0100  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  configure: Use -Bsymbolic-functions if available
	  While this is more useful for libraries, some of our plugins with multiple
	  files and some internal API can also benefit from this.

2015-12-16 09:36:08 +0100  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst-plugins-ugly-plugins.args:
	* 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-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:
	  docs: update to git

2015-12-07 09:08:18 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From b319909 to 86e4663

2015-11-26 15:49:47 +0000  Arjen Veenhuizen <arjen.veenhuizen@tno.nl>

	* ext/x264/gstx264enc.c:
	  x264enc: increase bitrate limit from 100Mbps to 2Gbps
	  Don't artificially limit the bitrate, x264enc allows much
	  higher bitrates, and for intra-only 4k AVC they are needed.
	  x264 clips to 2Gbps internally, so use that as limit for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758620

2015-11-18 23:20:59 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* ext/x264/gstx264enc.c:
	  x264enc: drop unnecessary NULL check before g_free

2015-10-21 14:35:17 +0100  Tim-Philipp Müller <tim@centricular.com>

	* common:
	  Automatic update of common submodule
	  From b99800a to b319909

2015-10-20 17:29:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Use new GST_ENABLE_EXTRA_CHECKS #define
	  https://bugzilla.gnome.org/show_bug.cgi?id=756870

2015-10-21 14:26:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* README:
	* common:
	  Automatic update of common submodule
	  From 9aed1d7 to b99800a

2015-10-02 22:24:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Update GLib dependency to 2.40.0

2015-09-29 14:16:07 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* ext/dvdread/README:
	  dvdread: remove broken link
	  Removing instead of updating as previously pointed-to page
	  (now http://dvd.sourceforge.net/dvdinfo/) is already linked
	  from dvd.sourceforge.net's homepage as: "Collection of
	  information on file formats/data structures relating to DVD
	  navigation/SPUs."

2015-09-26 09:23:05 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  dvdlpcmdec: fix invalid read beyond channel position array
	  We would always copy sizeof(sorted_position) bytes, which is
	  for 8 channels, but if we have less than 8 channels the
	  position array we copy from will only have allocated space
	  for channel channels, so we would read beyond the input
	  array in some cases.

2015-08-25 10:08:46 +0900  HoonHee Lee <hoonhee.lee@lge.com>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  dvdlpcmdec: factor out common code to set output format into new function
	  When caps event is recieved and header is changed, reordering channel
	  and setting the default output format for audio are processed. These 2 of
	  code are same. Thus, It is better to make a new function for these common
	  code in terms of removing duplicated code, maintenance and expansion.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753920

2015-09-23 20:45:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Don't push any data on pads after the segment.stop
	  https://bugzilla.gnome.org/show_bug.cgi?id=755469

2015-09-23 20:30:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Only change segment start to a keyframe for KEYUNIT seeks
	  Not for accurate seeks, which should accurately start at the requested
	  position.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755469

2015-09-23 20:23:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Update segment.position when pushing buffers
	  Without this, non-flushing seeks are not going to work well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755469

2015-09-23 19:37:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Only push EOS event if we're not doing a segment seek
	  https://bugzilla.gnome.org/show_bug.cgi?id=755469

2015-09-23 16:31:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: If pushing buffers returned EOS, go into the EOS and not failure code path
	  We don't want to unconditionally send an EOS event downstream, but might want
	  to send a SEGMENT_DONE message/event instead if a segment seek was done
	  before.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755469

2015-09-25 23:51:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.6.0 ===

2015-09-25 23:32:02 +0200  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:
	* 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-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.6.0

2015-09-25 23:04:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

=== release 1.5.91 ===

2015-09-18 20:01:17 +0200  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:
	* 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-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.5.91

2015-09-18 19:34:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2015-09-18 11:53:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/zh_CN.po:
	  po: Update translations

2015-09-05 23:34:45 +1000  Jan Schmidt <jan@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264: Add bitrate info to the tags output.
	  Makes it possible for muxers to know the target bitrate as soon
	  as encoding starts, which flvmux now uses.

2015-08-28 19:18:32 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: fix file mode of some source files

=== release 1.5.90 ===

2015-08-19 14:05:27 +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:
	* 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-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.5.90

2015-08-19 12:55:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2015-08-19 11:33:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/id.po:
	* po/sv.po:
	  po: Update translations

2015-08-18 02:23:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/x264/gstx264enc.c:
	  x264enc: actually return TRUE from accept-caps handler
	  The query was handled

2015-08-16 14:27:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/x264/gstx264enc.c:
	  x264enc: implement accept-caps handling
	  Implement accept-caps handling without doing caps queries downstream

2015-08-15 22:15:26 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/amrnb/amrnbenc.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/twolame/gsttwolamemp2enc.c:
	  audioencoders: use template subset check for accept-caps
	  It is faster than doing a query that propagates downstream and
	  should be enough
	  Elements: amrnbenc, lamemp3enc, twolamemp2enc

2015-08-15 11:46:59 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: use default pad accept-caps handling
	  Avoids useless check of downstream caps when handling an
	  accept-caps query

2015-08-15 11:46:13 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/a52dec/gsta52dec.c:
	* ext/amrnb/amrnbdec.c:
	* ext/amrwbdec/amrwbdec.c:
	* ext/mad/gstmad.c:
	  audiodecoders: use default pad accept-caps handling
	  Avoids useless check of downstream caps when handling an
	  accept-caps query
	  Elements: a52dec, amrnbdec, amrwbdec, mad

2015-08-14 11:14:31 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/generic/states.c:
	  check: Rename states unit test
	  Makes it easier to differentiate from other modules states unit test

2015-08-06 10:05:53 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: fix assertion error when freeing old tags.
	  Check if old_tags is present before calling gst_tag_list_unref
	  https://bugzilla.gnome.org/show_bug.cgi?id=753301

2015-07-24 10:08:34 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix assertion error when codec_data is not present in structure
	  When discovering a particular asf file, caps structure doesn't have
	  codec_data, and this was not being checked before using the same,
	  resulting in assertion error
	  https://bugzilla.gnome.org/show_bug.cgi?id=752803

2015-07-29 15:55:14 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: remove unread value
	  Init value of idx2 is never used. First usage sets it to idx + 1. Removing
	  initial value.

2015-07-25 04:55:15 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Don't post error on flushing while reading headers

2015-07-21 11:13:27 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: mark tag list as global scope

2015-07-21 11:10:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: fix taglist leak
	  merge doesn't take ownership, so must unref the
	  old tags if we do merge.

2015-07-21 12:44:55 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: fix wrong unref when there are no tags
	  Tags should be appended to pending tags and unref'ed only if tags
	  are present. Else there is no need to append.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752404

2015-07-16 18:11:37 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: fix memory leaks during error cases
	  while adding stream, during error cases, only stream is
	  being freed. Adapter, pad, tags, subpackets, index are not being
	  freed resulting in memory leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=752404

2015-07-16 17:23:15 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-plugins-ugly.doap:
	  Update mailing list in doap file as well

2015-07-16 17:19:37 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/amrnb/amrnbdec.c:
	  Update mailing list address from sourceforge to freedesktop

2015-07-16 09:49:17 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: fix tag memory leak
	  tags is not being freed after being merged to the
	  pending_tags.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752404

2015-07-03 21:58:33 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From f74b2df to 9aed1d7

2015-06-25 00:04:19 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.5.2 ===

2015-06-24 23:39:37 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* 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-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.5.2

2015-06-24 23:14:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2015-06-24 11:15:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/nl.po:
	  po: Update translations

2015-06-15 16:33:26 +1000  Jan Schmidt <jan@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Use gst_video_multiview_guess_half_aspect() function
	  Use gst_video_multiview_guess_half_aspect() to guess if frame-packed
	  stereoscopic video is full-frame per view or not.

2015-06-16 17:49:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 6015d26 to f74b2df

2014-11-26 22:15:43 +0100  Matej Knopp <matej.knopp@gmail.com>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Use gst_video_encoder_set_min_pts
	  This method replace the manual adjustment of PTS and DTS to avoid
	  negative DTS issues. Using this method will also update the segment so
	  we don't loos sync.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740575

2015-06-10 14:28:05 +1000  Jan Schmidt <jan@centricular.com>

	* gst/asfdemux/Makefile.am:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Add support for stereoscopic video metadata.
	  Add parsing of stereoscopic metadata, and place into the caps to
	  the decoder.
	  Fix parsing of Advanced Mutual Exclustion objects.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711190
	  Based on a patch by HyeJin Choi <meeshel78@hotmail.com>

2014-10-05 00:54:59 +1000  Jan Schmidt <jan@centricular.com>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Add support for stereoscopic video
	  Provide new frame-packing property to directly set
	  x264enc frame packing, or pass through upstream settings
	  The explicit layout from the frame-packing property is
	  preferred over any info from the caps.

2015-06-10 15:32:44 +0100  Chris Clayton <chris2553@googlemail.com>

	* gst/xingmux/gstxingmux.c:
	  xingmux: fix compiler warnings
	  https://bugzilla.gnome.org/show_bug.cgi?id=750596

2015-06-09 15:28:46 +0200  Stefan Sauer <ensonic@users.sf.net>

	* Makefile.am:
	  cruft: add the obsolete tmpl dir to cruft-dirs

2015-06-09 11:30:34 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From d9a3353 to 6015d26

2015-06-08 23:08:11 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From d37af32 to d9a3353

2015-06-07 23:06:47 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 21ba2e5 to d37af32

2015-06-07 17:32:12 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From c408583 to 21ba2e5

2015-06-07 17:02:31 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/plugins/Makefile.am:
	  docs: remove variables that we define in the snippet from common
	  This is syncing our Makefile.am with upstream gtkdoc.

2015-06-07 17:16:30 +0200  Stefan Sauer <ensonic@users.sf.net>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From d676993 to c408583

2015-06-07 16:44:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.5.1 ===

2015-06-07 11:05:29 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* 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-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.5.1

2015-06-07 11:05:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2015-06-07 09:36:00 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/eo.po:
	* po/fr.po:
	  po: Update translations

2015-06-02 16:31:10 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/elements/amrnbenc.c:
	* tests/check/elements/mpeg2dec.c:
	* tests/check/elements/x264enc.c:
	* tests/check/elements/xingmux.c:
	* tests/check/pipelines/lame.c:
	  check: Use GST_CHECK_MAIN () macro everywhere
	  Makes source code smaller, and ensures we go through common initialization
	  path (like the one that sets up XML unit test output ...)

2015-05-26 17:58:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264enc: don't artificially limit max allowed value of "threads" property
	  In auto mode it will happily chose much higher values anyway,
	  and a limit of 4 seems a bit low these days.

2015-05-12 22:05:02 +1000  Jan Schmidt <jan@centricular.com>

	* ext/dvdread/dvdreadsrc.c:
	  dvdread: Also reset the first_seek var in start()
	  Make the initial chapter seek work across reuse.
	  https://bugzilla.gnome.org/show_bug.cgi?id=453322

2015-05-12 21:52:24 +1000  Jan Schmidt <jan@centricular.com>

	* ext/dvdread/dvdreadsrc.c:
	* ext/dvdread/dvdreadsrc.h:
	  dvdread: Work around basesrc initial seek
	  Ignore the initial seek basesrc sends, as it
	  breaks starting from another chapter by
	  immediately seeking back to the start of the title

2015-05-10 11:34:33 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/a52dec/gsta52dec.c:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	* ext/amrwbdec/amrwbdec.c:
	* ext/cdio/gstcdiocddasrc.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/mad/gstmad.c:
	* ext/sidplay/gstsiddec.cc:
	* ext/twolame/gsttwolamemp2enc.c:
	* ext/x264/gstx264enc.c:
	* gst/realmedia/rademux.c:
	* gst/xingmux/gstxingmux.c:
	  docs: update example pipelines in element docs
	  Mostly gst-launch -> gst-launch-1.0, but also
	  use autoaudiosink/autovideosink in more places
	  and update pipelines a little or flesh out
	  descriptions.

2015-04-27 10:57:12 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/realmedia/rdtdepay.c:
	  Rename property enums from ARG_ to PROP_
	  Property enum items should be nameed PROP_ for consistency and readability.

2015-04-26 17:56:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* Android.mk:
	* ext/mad/Makefile.am:
	* ext/x264/Makefile.am:
	* gst/asfdemux/Makefile.am:
	* gst/dvdlpcmdec/Makefile.am:
	* gst/dvdsub/Makefile.am:
	* gst/realmedia/Makefile.am:
	* gst/xingmux/Makefile.am:
	  Remove obsolete Android build cruft
	  This is not needed any longer.

2015-04-24 17:05:20 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/realmedia/pnmsrc.c:
	  realmedia: remove unused enum item PROP_LAST

2015-04-23 16:23:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	  tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON
	  Make sure the test environment is set up.
	  https://bugzilla.gnome.org//show_bug.cgi?id=747624

2015-04-23 16:22:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	  configure: bump automake requirement to 1.14 and autoconf to 2.69
	  This is only required for builds from git, people can still
	  build tarballs if they only have older autotools.
	  https://bugzilla.gnome.org//show_bug.cgi?id=747624

2015-04-23 16:22:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitignore:
	  Update .gitignore

2015-04-22 10:37:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* LICENSE_readme:
	  Remove LICENSE_readme
	  It's completely outdated and just confusing, better if people are
	  forced to look at the actual code in question than trusting this file.

2015-04-22 10:37:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* INSTALL:
	  Remove INSTALL file
	  autotools automatically generate this, and when using different versions
	  for autogen.sh there will always be changes to a file tracked by git.

2015-04-20 14:35:30 +0900  Cliff Han <cliff.han@lge.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix a seek failure due to out-of-range in push mode
	  A seek in push mode failed for big offsets which are beyond
	  the range of guint32.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748162

2015-04-08 16:52:06 +0200  Edward Hervey <edward@centricular.com>

	* common:
	* tests/check/Makefile.am:
	  tests: Use AM_TESTS_ENVIRONMENT
	  Needed by the new automake test runner

2015-04-03 18:58:03 +0100  Tim-Philipp Müller <tim@centricular.com>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From bc76a8b to c8fb372

2015-04-02 17:24:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: fix race in liba52dec lookup table initialization
	  a52_init initializes the IMDCT global state as well as creating
	  a new state. When two A52 decoders are created (eg, when two AC3
	  tracks are contained in a video), calls to a52_init may happen
	  at the same time, and the IMDCT initialization is not reentrant.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746781

2015-03-27 14:41:51 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: fix buffer leak in crop_buffer()
	  gst_buffer_pool_acquire_buffer() gives us a new owned buffer while
	  gst_buffer_replace() reffed it as well so we were one reference extra.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746887

2015-03-28 16:58:26 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/realmedia/rmdemux.c:
	  rmdemux: resurrect some flow return handling
	  https://bugzilla.gnome.org/show_bug.cgi?id=744572

2015-03-28 16:57:06 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: resurrect some flow return handling
	  https://bugzilla.gnome.org/show_bug.cgi?id=744572

2015-03-24 12:50:43 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: fix memory leak
	  CID #1291630

2015-03-24 10:29:48 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: initialize buffer
	  Buffer needs to be null before passing it to gst_buffer_pool_acquire_buffer()
	  CID #1291634

2015-03-13 17:00:03 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Add stride support
	  This allow using external pools that have different strides from the
	  default. These strides need to respect certain rules, which we check
	  and if these are not met, we fallback to generic pool.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735379

2015-03-10 16:45:01 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: Re-implement pool handling
	  This is a rewrite of the pool negotiation and configuration. Direct
	  to output decoding is now achieved by configuring the pool using
	  video-alignment. This removes copies when dealing with any elements that
	  supports VideoAlignment, and enable usage of generic video buffer pool,
	  XVImagePool and GLPool. It drops the crop meta implementation for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735379

2015-03-10 09:33:15 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvbsub: fix indentation

2015-03-10 09:32:51 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/dvdread/dvdreadsrc.c:
	* gst/dvdsub/gstdvdsubdec.c:
	  Fix double semicolons

2015-03-09 19:11:51 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  Revert "mpeg2dec: Fix handling of stride"
	  This reverts commit f3e8dcb9de4d546e7d80ccc1754ed13dd4e7ac81.

2015-03-09 19:11:44 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  Revert "mpeg2dec: Use propose unref method for buffer"
	  This reverts commit 63b43d3bee832aec353d02575da543f3c73f6893.

2015-03-09 18:43:43 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Use propose unref method for buffer

2015-01-21 18:29:22 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Fix handling of stride
	  A pipeline like:
	  gst-launch-1.0 filesrc location=file.ts ! tsdemux ! mpegvideoparse ! mpeg2dec  ! vaapisink
	  would look bad when file.ts contains 704x576 video, because vaapisink would
	  give you buffers of stride 768, but libmpeg2 was not told about this and
	  used a stride of 704.
	  Tell libmpeg2 about the stride from  downstream; in the process, teach it to
	  reject buffer pools that don't meet libmpeg2's chroma stride requirements
	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>

2015-02-11 13:56:48 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/x264/gstx264enc.c:
	* gst/asfdemux/gstasfdemux.c:
	  Improve and fix LATENCY query handling
	  This now follows the design docs everywhere, especially the maximum latency
	  handling.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744106

2015-02-06 19:04:32 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Don't set max latency to the same value as the encoder latency
	  The meaning of the max latency is *not* the maximum latency this element will
	  introduce. It is the maximum latency this element can endure without
	  overflowing any buffers, which is infinite for x264enc.
	  Fixes latency configuration in zero latency mode, where max latency was
	  becoming 0... which usually won't work well if something else introduces
	  latency as then max < min in the end, and latency configuration just fails.

2015-02-02 14:13:10 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: set annexb=1 in byte stream mode when downstream has ANY caps
	  This matches what is done when downstream caps are not ANY, and fixes
	  prerolling in byte stream mode when typefind is downstream.

2015-01-21 09:56:41 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/lame/gstlamemp3enc.c:
	* ext/twolame/gsttwolamemp2enc.c:
	  Constify some static arrays everywhere

2015-01-18 16:53:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	  configure: remove non-ported plugins stuff
	  It's not needed any longer, all plugins in -ugly
	  have been ported.

2015-01-18 11:07:43 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Don't set an allocation maximum
	  There is no reason x264enc should enforce a maximum allocation size.
	  The maximum is normally set by buffer pool which cannot grow, but we
	  don't offer a buffer pool. This would lead to stall when used with
	  element that don't implement allocation query.
	  Related to: https://bugzilla.gnome.org/show_bug.cgi?id=738302

2015-01-12 16:10:45 +0100  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From f2c6b95 to bc76a8b

2014-12-22 11:46:27 +0100  Sebastian Dröge <sebastian@centricular.com>

	* MAINTAINERS:
	  MAINTAINERS: Update my mail address

2014-12-18 10:54:30 +0100  Sebastian Dröge <sebastian@centricular.com>

	* common:
	  Automatic update of common submodule
	  From ef1ffdc to f2c6b95

2014-11-27 17:11:30 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From 7bb2bce to ef1ffdc

2014-06-06 13:59:57 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  dvdlpcmdec: set channel positions using the appropriate API
	  https://bugzilla.gnome.org/show_bug.cgi?id=731038

2014-11-05 23:34:56 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix comment

2014-11-05 13:45:29 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Send duration query upstream first
	  An upstream element (like mms or some dlna source) might be able to
	  answer the query. Try that first, else fallback to standard logic

2014-11-02 17:31:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/asfdemux/asfpacket.c:
	  asf: fix up file mode

2014-10-27 17:58:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* common:
	  Automatic update of common submodule
	  From 84d06cd to 7bb2bce

2014-10-21 19:46:03 +0100  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	  tests: parallelise 'make check-valgrind'

2014-10-21 13:02:03 +0100  Tim-Philipp Müller <tim@centricular.com>

	* common:
	  Automatic update of common submodule
	  From a8c8939 to 84d06cd

2014-10-21 12:58:58 +0200  Stefan Sauer <ensonic@users.sf.net>

	* README:
	* common:
	  Automatic update of common submodule
	  From 36388a1 to a8c8939

2014-08-22 10:46:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: first try to delegate TIME seek events upstream
	  We should give a chance to upstream to handle TIME seek events before trying
	  to handle it in asfdemux.
	  Fix a bug where fast backward seeks where discarded right away because they
	  were not supported by asfdemux.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734471

2014-09-04 16:57:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/asfdemux/asfheaders.c:
	* gst/asfdemux/asfheaders.h:
	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: add ASF_OBJ_METADATA_LIBRARY_OBJECT
	  We can safely ignore those but best to claim to understand this object type so
	  we don't raise a warning.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736060

2014-08-21 12:09:23 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: if video is h264, check the codec_data for bytestream data
	  For bytestream we don't want to expose it as codec_data but rather as
	  streamheader as it is not out-of-band data but data that should be
	  prepended to the beginning of the stream before the other buffers.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735070

2014-08-10 19:13:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* 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-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:
	  docs: update for git master

2014-08-06 12:07:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: simplify log statement
	  Use the GST_PTR_FORMAT to print the buffer

2014-08-05 19:47:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264: fix colour inversion with YV12 format
	  It's the same as I420 but with the U/V planes swapped.

2014-08-01 10:37:44 +0200  Edward Hervey <edward@collabora.com>

	* Makefile.am:
	* common:
	  Makefile: Add usage of build-checks step
	  Allows building checks without running them

2014-07-08 16:45:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Request buffers in allocation query
	  https://bugzilla.gnome.org/show_bug.cgi?id=732288

2014-06-06 20:23:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Shift both PTS and DTS to ensure positive timestamp
	  Currently we only shift DTS to compensate that we don't support negative
	  timestamp. This cause a problem that PTS is no longer >= DTS and may
	  make muxers live much harder. Instead, shift both PTS/DTS forward. Also
	  remove all the hack to handle this which seems the result of thinking libx264
	  is bugged.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731351

2014-07-19 18:04:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.4.0 ===

2014-07-19 17:44:06 +0200  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:
	* 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-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.4.0

2014-07-19 16:50:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2014-07-19 12:48:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/sv.po:
	  po: Update translations

=== release 1.3.91 ===

2014-07-11 11:44:28 +0200  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:
	* 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-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.3.91

2014-07-11 11:13:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2014-07-11 08:53:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/vi.po:
	  po: Update translations

2014-07-04 03:22:00 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* gst/realmedia/rademux.c:
	  rademux: Print invalid fourcc in error message in hex
	  Previously this was printed as characters which caused later processing
	  of the error message to sometimes warn about non-UTF-8 characters.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732716

=== release 1.3.90 ===

2014-06-28 11:39:14 +0200  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-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.3.90

2014-06-28 11:39:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2014-06-22 21:48:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitignore:
	  Ignore autotools test-driver temp files from 'make check'

2014-06-22 19:36:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.3.3 ===

2014-06-22 18:13:53 +0200  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:
	* 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-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.3.3

2014-06-22 17:40:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2014-06-22 14:25:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/de.po:
	* po/nl.po:
	  po: Update translations

2014-05-26 17:55:43 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmdemux.h:
	  rmdemux: use GstFlowCombiner
	  Removes flow return combination code to use the newly added GstFlowCombiner
	  https://bugzilla.gnome.org/show_bug.cgi?id=709224

2014-05-23 18:17:11 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: use GstFlowCombiner
	  Removes flow return combination code to use the newly added GstFlowCombiner
	  https://bugzilla.gnome.org/show_bug.cgi?id=709224

2014-05-28 09:49:59 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix caps leak in set_format()
	  https://bugzilla.gnome.org/show_bug.cgi?id=730865

2013-12-01 20:53:03 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Handle initial 0 timestamp that should have been -1
	  https://bugzilla.gnome.org/show_bug.cgi?id=719660

2014-05-21 13:23:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.3.2 ===

2014-05-21 13:06:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* configure.ac:
	* docs/plugins/inspect-build.stamp:
	* docs/plugins/inspect.stamp:
	* 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-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.3.2

2014-05-21 12:53:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2014-05-21 10:51:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* common:
	  Automatic update of common submodule
	  From 211fa5f to 1f5d3c3

2014-05-16 16:24:46 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: remove unused struct members

2014-05-16 12:21:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rtspreal.c:
	  rtspreal: Fix some memory leaks in an error path
	  CID 1212165.

2014-05-09 14:54:54 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Release codec state on negotiation failures
	  Else it leaks
	  CID #1212169

2014-05-03 20:48:37 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.3.1 ===

2014-05-03 18:29:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* 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-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.3.1

2014-05-03 18:21:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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

2014-05-03 17:23:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/de.po:
	* po/id.po:
	* po/lv.po:
	* po/sk.po:
	* po/sr.po:
	  po: Update translations

2014-05-03 10:15:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* common:
	  Automatic update of common submodule
	  From bcb1518 to 211fa5f

2014-04-27 00:29:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/sidplay/gstsiddec.cc:
	* gst/asfdemux/gstrtspwms.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rtspreal.c:
	  docs: remove outdated and pointless 'Last reviewed' lines from docs
	  They are very confusing for people, and more often than not
	  also just not very accurate. Seeing 'last reviewed: 2005' in
	  your docs is not very confidence-inspiring. Let's just remove
	  those comments.

2014-04-10 17:29:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvdsubdec: fix spurious rejection of 0 time offset commands
	  Coverity 206168

2014-04-10 16:53:25 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdread: avoid intermediate promotion to signed
	  We should not reach the dangerous range here, though.
	  Coverity 206491, 206492, 1139856

2014-01-17 10:46:50 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: do not reset the whole video info when setting size
	  New changes to gstvideo will reset all the video info state
	  when calling _set_format, overwriting what was previously set
	  in the preceding code.
	  The comment says the following code is meant to preserve the
	  pre-crop size, so let's just keep the size and related data
	  as this does not seem to break anything else (this is what
	  the _set_format call would have set before the change that
	  reset all data, except the colorimetry).

2014-04-03 15:06:22 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Fix payloads check
	  Don't iterate stream->payloads if ... it doesn't exist
	  CID #1139846

2014-03-02 05:11:10 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* .gitignore:
	  .gitignore: Ignore gcov intermediate files
	  https://bugzilla.gnome.org/show_bug.cgi?id=725483

2014-02-28 09:35:10 +0100  Sebastian Dröge <sebastian@centricular.com>

	* common:
	  Automatic update of common submodule
	  From fe1672e to bcb1518

2014-02-26 22:12:50 +0100  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 1a07da9 to fe1672e

2014-02-26 11:31:03 +0100  Stefan Sauer <ensonic@users.sf.net>

	* docs/Makefile.am:
	  docs: install prebuilt plugin docs if gtk-doc is disabled
	  Sync to the Makefile.am from gst-plugin-base where it is done right.
	  Fixes #725034

2014-02-13 09:39:04 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/xingmux/gstxingmux.c:
	* gst/xingmux/plugin.c:
	  xingmux: add muxer category and make element plugable
	  This is required to make encodebin consider the element. Yet it is not enough to
	  have it plugged it has a lower priority than most mp3encoders and no different
	  caps.

2014-02-24 11:42:00 +0100  Dirk Van Haerenborgh <vhdirk@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: allow lossless compression (qp=0)
	  https://bugzilla.gnome.org/show_bug.cgi?id=725051

2014-02-20 21:08:08 +0100  Edward Hervey <edward@collabora.com>

	* m4/a52.m4:
	  m4: Remove extra check for 11+ year old a52 release
	  You deserve a build failure if you still have that version
	  If someone wants to completely remove this m4 to replace it with the
	  generic AS_GST_CHECK_LIBHEADER() it would be appreciated.

2014-02-19 21:11:55 +0100  Rico Tzschichholz <ricotz@ubuntu.com>

	* m4/a52.m4:
	  m4: Fix multiple tests in AC_CHECK_A52DEC

2014-02-09 23:41:36 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Remove unused function

2014-02-06 19:22:47 +0100  Edward Hervey <edward@collabora.com>

	* tests/check/Makefile.am:
	  check: Fix test location

2014-02-03 02:06:11 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* tests/check/Makefile.am:
	  tests: Don't build disabled plugins' check tests
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723505

2014-01-30 10:44:29 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From d48bed3 to 1a07da9

2014-01-03 16:20:11 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: only add "format" field with fourcc to WMV caps
	  Doesn't make sense for e.g. H264 or MJPEG.

2013-12-22 22:34:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From dbedaa0 to d48bed3

2013-12-22 21:56:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/Makevars:
	  po: set gettext domain in Makevars so we don't have to patch the generated Makefile.in.in
	  https://bugzilla.gnome.org/show_bug.cgi?id=705455

2013-12-05 12:16:45 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/amrwbdec/amrwbdec.c:
	  amrwbdec: Remove some dead code

2013-12-05 12:16:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/amrnb/amrnbdec.c:
	  amrnbdec: Remove some dead code

2013-12-05 12:09:04 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/amrnb/amrnbdec.c:
	  amrnbdec: Use gst_audio_decoder_set_needs_format() instead of custom code

2013-12-05 12:08:46 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/amrwbdec/amrwbdec.c:
	  amrwbdec: Use gst_audio_decoder_set_needs_format() instead of custom code

2013-12-05 11:44:10 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Use new gst_video_decoder_set_needs_format() API

2013-11-29 15:51:49 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix compiler warning
	  Compiler warns rightly about possibly uninitialized variable.

2013-11-29 15:49:29 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix crash on NULL caps when negotiation happens without a downstream peer
	  gst-launch-1.0 videotestsrc ! x264enc

2013-11-11 13:15:54 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: graceful degradation for badly parsed input

2013-11-05 11:20:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* common:
	  Automatic update of common submodule
	  From 865aa20 to dbedaa0

2013-10-22 16:02:04 +0900  HyeJin Choi <meeshel@meeshel78@hotmail.com>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: mo_size check bug fix. mo_size is not mandatory field.
	  So, don't need to check previous payload's mo_size and current
	  payload's mo_size when merging it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=710609

2013-10-22 15:03:15 -0300  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Keep audio error checking fields only for audio
	  Video shouldn't need to be descrambled, this can cause frames data
	  to be corrupted
	  https://bugzilla.gnome.org/show_bug.cgi?id=684942

2013-10-22 00:56:29 -0300  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: really copy the buffer data
	  Pass the copy-memory flag to copy the memory for the output buffer,
	  otherwise we end with 0-sized buffers
	  https://bugzilla.gnome.org/show_bug.cgi?id=684942

2013-09-27 08:05:25 -0700  Michael Esemplare <michael.esemplare@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: If FPS is available, set VFR to false
	  https://bugzilla.gnome.org/show_bug.cgi?id=708940

2013-09-24 10:08:10 -0700  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Only use segment.start as seek_time if it is relative
	  Relying on the gst_segment_do_seek results for getting the
	  seeking time should not be used if seek type is SET because the
	  do_seek function makes the 'cur` position of the seek normalized
	  on the segment range. This means that seeking beyond the end of the
	  file might not result in instant EOS as it will end up seeking to
	  the final ts of the file.
	  In asf seeking to the final timestamp can lead to seeking to the last
	  keyframe, meaning a few seconds of video will still be played, which should
	  not be the desired behavior when seeking beyong file limits.

2013-09-24 10:07:25 -0700  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Parse last simple index entry
	  The entry size is fixed at 6, fix typo to finish parsing the index
	  correctly until the last sample

2013-09-24 18:32:31 +0100  Tim-Philipp Müller <tim@centricular.net>

	* README:
	* common:
	  Automatic update of common submodule
	  From 6b03ba7 to 865aa20

2013-09-24 15:05:36 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* configure.ac:
	  configure: Actually use 1.3.0.1 as version to make configure happy

2013-09-24 15:00:30 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* configure.ac:
	  Back to development

=== release 1.2.0 ===

2013-09-24 14:27:45 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-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.2.0

2013-09-24 14:27:39 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* 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

2013-09-18 11:34:56 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Update the documentation to match the default profile used
	  https://bugzilla.gnome.org/show_bug.cgi?id=708036

2013-09-20 16:17:31 +0200  Edward Hervey <edward@collabora.com>

	* common:
	  Automatic update of common submodule
	  From b613661 to 6b03ba7

2013-09-19 18:43:43 +0100  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 74a6857 to b613661

2013-09-19 17:36:25 +0100  Tim-Philipp Müller <tim@centricular.net>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From 098c0d7 to 74a6857

2013-09-19 11:35:04 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* configure.ac:
	  Back to development

=== release 1.1.90 ===

2013-09-19 10:50:32 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-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.1.90

2013-09-19 10:30:37 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* 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

2013-09-19 09:45:55 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* po/cs.po:
	  po: Update translations

2013-09-18 19:13:45 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/x264/gstx264enc.c:
	* tests/check/elements/x264enc.c:
	  x264enc: Implement getcaps that restricts the input format depending on the output profile
	  Also add some x264enc profile tests
	  https://bugzilla.gnome.org/show_bug.cgi?id=708326

2013-09-16 19:38:36 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix playback regression in push mode

2013-09-10 19:33:33 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: remove unused variable

2013-09-05 22:56:48 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* ext/x264/gstx264enc.c:
	  x264enc: Don't unref future state but the old one
	  Being silly will lead us nowhere.

2013-09-04 16:32:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/x264/gstx264enc.c:
	  x264enc: Check if we have an input state before using it
	  Flushing might happen before caps were set on the encoder,
	  which would lead to crashes here.
	  Thanks to Matej Knopp for analyzing this.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707414

2013-09-03 20:28:35 +0200  Matej Knopp <matej.knopp@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix unsigned comparison warning

2013-08-28 13:27:05 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* configure.ac:
	  Back to development

=== release 1.1.4 ===

2013-08-28 12:58:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-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.1.4

2013-08-28 12:58:37 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* 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

2013-08-28 12:32:37 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* po/pt_BR.po:
	  po: update translations

2013-08-27 14:13:06 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/x264/gstx264enc.c:
	  x264enc: log when we output a lower profile than requested

2013-08-21 18:32:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/x264/gstx264enc.c:
	  x264enc: Consider subset relations of profiles when setting srcpad caps
	  constrained-baseline is a subset of baseline, is a subset of main,
	  is a subset of high profile.
	  https://bugzilla.gnome.org/show_bug.cgi?id=705425

2013-08-21 12:31:23 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/x264/gstx264enc.c:
	  x264enc: propagate flow return back to base class and upstream
	  https://bugzilla.gnome.org/show_bug.cgi?id=705425

2013-08-17 23:13:17 +0100  Tim-Philipp Müller <tim@centricular.net>

	* configure.ac:
	  configure: fix x264 version checking
	  x264 releases carry pkg-config versions such as 0.120.x
	  (literallly with an 'x'). Checking for x264 >= 0.120.0 will
	  then fail, so we need to either check for > 0.119.0 or
	  for >= 0.120 to make this work right.

2013-08-17 23:09:15 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/x264/gstx264enc.c:
	  x264enc: minor clean-up
	  We requires x264 build >= 120 now.

2013-08-15 15:30:31 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Fix mpeg2_reset() calls

2013-08-15 15:27:48 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/x264/gstx264enc.c:
	  ext: Use new flush vfunc of video codec base classes and remove reset implementations

2013-08-01 01:34:05 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix build on C89 compilers

2013-07-30 17:28:17 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix seeking in push mode

2013-08-02 14:14:48 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* configure.ac:
	  build: add subdir-objects to AM_INIT_AUTOMAKE
	  Fixes warnings in automake 1.14
	  https://bugzilla.gnome.org/show_bug.cgi?id=705350

2013-08-02 08:25:49 +0200  Edward Hervey <edward@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Do a hard reset of flush_stop
	  Which is notified by hard == 0 with latest refactoring.

2013-07-29 21:09:37 +0100  Tim-Philipp Müller <tim@centricular.net>

	* po/LINGUAS:
	* po/da.po:
	* po/de.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/ja.po:
	* po/nb.po:
	* po/nl.po:
	* po/pl.po:
	* po/ru.po:
	* po/sl.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	  po: update translations

2013-07-29 14:48:21 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* configure.ac:
	  Back to development

=== release 1.1.3 ===

2013-07-29 13:46:08 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-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.1.3

2013-07-29 13:46:05 +0200  Sebastian Dröge <slomo@circular-chaos.org>

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

2013-07-29 12:13:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  gst: Don't swap start/stop for negative rates in the SEGMENT query

2013-07-29 10:57:38 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  real: Implement SEGMENT query

2013-07-29 10:56:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Implement SEGMENT query

2013-07-28 16:43:28 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/asfdemux/asfheaders.c:
	* gst/asfdemux/asfheaders.h:
	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Add support for dvr-ms
	  https://bugzilla.gnome.org/show_bug.cgi?id=705026

2013-07-26 16:47:48 +0200  Edward Hervey <edward@collabora.com>

	* gst/realmedia/rtspreal.c:
	  rtspreal: Ensure output value has an assigned value
	  In the case where this macro was used, that dest was != NULL but that
	  the strncmp failed, we would end up with dest_len being undefined.

2013-07-26 16:39:12 +0200  Edward Hervey <edward@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264: Fix dts comparision
	  We were assigning to a guint64 value (frame->dts) the sum of a unsigned
	  and signed value... resulting it the result never being < 0.
	  Instead just check if it is smaller before assigning to frame->dts.

2013-07-25 11:28:54 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: fix seqnum handling for seeks
	  Use the same seqnum as the seek for flushes/segments that are
	  caused by the seek. Also do the same for segment events
	  Fixes #676242

2013-07-25 13:35:44 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Clean up reset/start/stop handling

2013-07-25 11:01:20 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/x264/gstx264enc.c:
	  x264enc: React properly to flushing/resetting the encoder
	  https://bugzilla.gnome.org/show_bug.cgi?id=656007

2013-07-22 16:01:13 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/realmedia/rademux.c:
	* gst/realmedia/rademux.h:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmdemux.h:
	  realmedia: Add support for group-id in the stream-start event

2013-07-22 15:45:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Add support for group-id in the stream-start event

2013-07-22 15:43:18 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/sidplay/gstsiddec.cc:
	* ext/sidplay/gstsiddec.h:
	  siddec: Add support for group-id in the stream-start event

2013-07-18 17:14:29 +0200  Edward Hervey <edward@collabora.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Mark demuxer as "running" in push-mode
	  Allows queries (and other code) to be answered when working in push-mode.
	  Running would only be set to TRUE accordingly when working in pull-mode
	  once it had read header/index.
	  Fixes #680185

2013-07-17 16:17:54 +0200  Edward Hervey <edward@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Properly reset on sequence changes
	  Otherwise we end up using stray data/buffers.
	  Fixes #690701

2013-07-11 16:57:24 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* configure.ac:
	  Back to development

=== release 1.1.2 ===

2013-07-11 16:12:25 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-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.1.2

2013-07-11 16:12:21 +0200  Sebastian Dröge <slomo@circular-chaos.org>

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

2013-06-18 20:06:24 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: correctly determine last chapter's duration
	  This (mostly) reverts 683f5eeae7b830e4e4b790f3817ff6b8ce517b1c.
	  It worked just fine before ...

2013-06-25 14:20:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rdtmanager.c:
	  rdt: forward sticky events

2013-06-05 18:36:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  Back to development

=== release 1.1.1 ===

2013-06-05 17:58:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* 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-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.1.1

2013-06-05 16:42:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

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

2013-06-05 15:15:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* common:
	  Automatic update of common submodule
	  From 098c0d7 to 01a7a46

2013-06-04 16:12:27 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: make the aspect ratio calculation more accurate.
	  Utilize the libmpeg2 api: mpeg2_guess_aspect() to guess the
	  aspect-ratio if we don't have a valid upstream PAR.
	  https://bugzilla.gnome.org/show_bug.cgi?id=685103

2013-05-15 10:52:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 5edcd85 to 098c0d7

2013-05-13 13:19:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/amrnbenc.c:
	* tests/check/elements/mpeg2dec.c:
	* tests/check/elements/x264enc.c:
	* tests/check/elements/xingmux.c:
	  tests: Fix event handling

2013-05-09 19:40:49 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: Tell GstAudioEncoder about the number of incoming samples
	  lame does internal resampling, but the base class only cares about
	  the number of raw samples, so tell finish frames about that, not
	  the number of samples in the outgoing frame.:

2013-04-30 10:01:29 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/x264/gstx264enc.c:
	  x264enc: output byte-stream if downstream has ANY caps
	  It's what people expect when they pipe the output to
	  filesink or into a tcp connection or pipe.

2013-04-22 23:52:48 +0100  Tim-Philipp Müller <tim@centricular.net>

	* MAINTAINERS:
	* README:
	* README.static-linking:
	* common:
	  Automatic update of common submodule
	  From 3cb3d3c to 5edcd85

2012-10-24 12:15:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* ext/a52dec/Makefile.am:
	* ext/amrnb/Makefile.am:
	* ext/amrwbdec/Makefile.am:
	* ext/cdio/Makefile.am:
	* ext/dvdread/Makefile.am:
	* ext/lame/Makefile.am:
	* ext/mad/Makefile.am:
	* ext/mpeg2dec/Makefile.am:
	* ext/sidplay/Makefile.am:
	* ext/twolame/Makefile.am:
	* ext/x264/Makefile.am:
	* gst/asfdemux/Makefile.am:
	* gst/dvdlpcmdec/Makefile.am:
	* gst/dvdsub/Makefile.am:
	* gst/realmedia/Makefile.am:
	* gst/xingmux/Makefile.am:
	  gst: Add better support for static plugins

2013-04-14 17:55:44 +0100  Tim-Philipp Müller <tim@centricular.net>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From aed87ae to 3cb3d3c

2013-04-09 21:00:43 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 04c7a1e to aed87ae

2013-03-25 18:05:14 -0700  David Schleef <ds@schleef.org>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rmdemux.c:
	  Use %03u instead of %u in gst_pad_create_stream_id_printf()

2013-03-06 13:28:37 +0000  Tom Greenwood <tgreenwood@Toms-MacBook-Pro.local>

	* ext/x264/gstx264enc.c:
	  x264enc: Fix for 0/1 framerate - now uses VFR in this case
	  Previously did a division by zero.
	  https://bugzilla.gnome.org/show_bug.cgi?id=695728

2013-03-07 00:02:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 2de221c to 04c7a1e

2013-02-08 00:15:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/x264/gstx264enc.c:
	  x264enc: simplify template caps
	  No need to make an array for one single element.

2013-02-08 00:11:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/x264/gstx264enc.c:
	  x264enc: put all theoretically possible formats in template caps
	  and decide at runtime which subset of these (8-bit or 10-bit video
	  formats) is supported. libx264 will be compiled for one of these
	  two options, and it is possible to switch by pointing the dynamic
	  linker to a different libx264 build at runtime. If we want our
	  template caps to be correct, they should contain all then, with
	  the actually supported ones determined at runtime.
	  https://bugzilla.gnome.org/show_bug.cgi?id=691935

2013-01-23 10:16:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/x264/gstx264enc.c:
	  x264enc: detect supported bit depth and pixel formats at runtime
	  http://bugs.debian.org/667573
	  https://bugzilla.gnome.org/show_bug.cgi?id=691935

2013-01-30 09:15:18 +0100  Benjamin Gaignard <benjamin.gaignard@st.com>

	* autogen.sh:
	  autogen.sh: allow calling from out-of-tree
	  Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
	  https://bugzilla.gnome.org/show_bug.cgi?id=692857

2013-01-28 20:43:08 +0100  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From a942293 to 2de221c

2013-01-15 15:18:04 +0100  Martin Pitt <martinpitt@gnome.org>

	* tests/check/Makefile.am:
	  tests: use _1_0 variants for the various registry variables
	  These override the variants without version suffix. Makes 'make check' work
	  properly in environments that set the suffixed variant for 1.0, such as
	  jhbuild.

2013-01-15 15:06:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From a72faea to a942293

2012-12-30 23:56:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	* configure.ac:
	  configure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
	  AM_CONFIG_HEADER has been removed in the just-released automake 1.13:
	  https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html
	  https://bugzilla.gnome.org/show_bug.cgi?id=690881

2012-12-19 17:16:53 +0100  Thijs Vermeir <thijsvermeir@gmail.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: use appropriate printf format for gsize

2012-12-19 17:15:03 +0100  Thijs Vermeir <thijsvermeir@gmail.com>

	* ext/cdio/gstcdio.h:
	  cdio: Fix redundant redeclaration of 'cdio_version_string'
	  cdio/version.h is already included by cdio/cdio.h

2012-12-01 13:26:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	  siddec: init debug category

2012-11-30 20:09:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/dvdread/Makefile.am:
	  dvdread: link to libgmodule-2.0 since the g_module_* API is used
	  And the gmodule lib has been moved into the Requires.private
	  section of the pkg-config file in core.

2012-11-27 17:07:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/cdio/gstcdiocddasrc.c:
	* ext/cdio/gstcdiocddasrc.h:
	  cdiocddasrc: detect whether drive produces samples in non-host endianness
	  If drive produces samples in other endianness than the host,
	  we need to byte swap them before pushing them out, or we
	  produce nothing but noise. cdparanoia detects this automatically,
	  but libcdio does not, so we have to do it ourselves.
	  This is needed on e.g. the PowerBook G4 with Matshita UJ-816 drive.
	  https://bugzilla.gnome.org/show_bug.cgi?id=377280

2012-11-19 11:27:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From b497c4f to a72faea

2012-11-16 13:32:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/xingmux_testdata.h:
	  xingmux: Fix unit test after change to correctly calculate number of frames

2012-11-15 16:42:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Add support for 10-bit color formats
	  Requires x264 to be built with 10-bit support, which disables
	  9-bit support. Also only advertise the color formats that were
	  compiled into x264.

2012-11-15 16:21:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Add support for Y444, Y42B and NV12

2012-11-11 20:42:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/cdio/Makefile.am:
	* ext/cdio/gstcdio.c:
	  cdio: use gst_tag_freeform_string_to_utf8() for CD-TEXT strings
	  They're probably not going to be UTF-8, but ISO-8859-1 or somesuch
	  if they're not plain ASCII.

2012-11-09 11:33:40 +0100  Gautier Portet <kassoulet@gmail.com>

	* gst/xingmux/gstxingmux.c:
	  xingmux: Properly calculate the number of frames
	  First, the xing header frame is never added to the count,
	  we have to increment the count.
	  Secondly, there is a rounding error when calculating the
	  frame duration, as spf*GST_SECOND/rate is not an integer
	  (26122448.9) an it must be 26122449.

2012-11-07 20:45:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	* configure.ac:
	  configure.ac: update courtesy of autoupdate

2012-11-07 20:39:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	* common:
	* configure.ac:
	  configure: let AG_GST_PLUGIN_DOCS check for python
	  And update common for move from AS_PATH_PYTHON to AM_PATH_PYTHON,
	  which as a side-effect should pick up newer python versions as
	  well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=563903

2012-11-05 13:16:52 -0800  Michael Smith <msmith@rdio.com>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  dvdlpcmdec: Fix parsing of headers to set correct width to allow decode.

2012-11-03 20:38:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/mpg123audiodec.c:
	  Fix FSF address
	  https://bugzilla.gnome.org/show_bug.cgi?id=687520

2012-11-03 20:40:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	* docs/random/LICENSE:
	* ext/a52dec/gsta52dec.c:
	* ext/a52dec/gsta52dec.h:
	* ext/amrnb/amrnb.c:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbdec.h:
	* ext/amrnb/amrnbenc.c:
	* ext/amrnb/amrnbenc.h:
	* ext/amrwbdec/amrwb.c:
	* ext/amrwbdec/amrwbdec.c:
	* ext/amrwbdec/amrwbdec.h:
	* ext/cdio/gstcdio.c:
	* ext/cdio/gstcdio.h:
	* ext/cdio/gstcdiocddasrc.c:
	* ext/cdio/gstcdiocddasrc.h:
	* ext/dvdread/dvdreadsrc.c:
	* ext/dvdread/dvdreadsrc.h:
	* ext/lame/gstlamemp3enc.c:
	* ext/lame/gstlamemp3enc.h:
	* ext/lame/plugin.c:
	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	* ext/sidplay/gstsiddec.cc:
	* ext/sidplay/gstsiddec.h:
	* ext/twolame/gsttwolamemp2enc.c:
	* ext/twolame/gsttwolamemp2enc.h:
	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	* gst-libs/gst/gettext.h:
	* gst-libs/gst/glib-compat-private.h:
	* gst-libs/gst/gst-i18n-plugin.h:
	* gst/asfdemux/asfheaders.c:
	* gst/asfdemux/asfheaders.h:
	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/asfpacket.h:
	* gst/asfdemux/gstasf.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	* gst/asfdemux/gstrtpasfdepay.c:
	* gst/asfdemux/gstrtpasfdepay.h:
	* gst/asfdemux/gstrtspwms.c:
	* gst/asfdemux/gstrtspwms.h:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.h:
	* gst/dvdsub/gstdvdsubdec.c:
	* gst/dvdsub/gstdvdsubdec.h:
	* gst/dvdsub/gstdvdsubparse.c:
	* gst/dvdsub/gstdvdsubparse.h:
	* gst/realmedia/asmrules.c:
	* gst/realmedia/asmrules.h:
	* gst/realmedia/gstrdtbuffer.c:
	* gst/realmedia/gstrdtbuffer.h:
	* gst/realmedia/pnmsrc.c:
	* gst/realmedia/pnmsrc.h:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rademux.h:
	* gst/realmedia/rdtdepay.c:
	* gst/realmedia/rdtdepay.h:
	* gst/realmedia/rdtjitterbuffer.c:
	* gst/realmedia/rdtjitterbuffer.h:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rdtmanager.h:
	* gst/realmedia/realhash.c:
	* gst/realmedia/realhash.h:
	* gst/realmedia/realmedia.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmdemux.h:
	* gst/realmedia/rmutils.c:
	* gst/realmedia/rmutils.h:
	* gst/realmedia/rtspreal.c:
	* gst/realmedia/rtspreal.h:
	* gst/xingmux/gstxingmux.c:
	* gst/xingmux/gstxingmux.h:
	* gst/xingmux/plugin.c:
	* tests/check/elements/amrnbenc.c:
	* tests/check/elements/mpeg2dec.c:
	* tests/check/elements/x264enc.c:
	* tests/check/generic/index.c:
	* tests/check/generic/states.c:
	* tests/check/pipelines/lame.c:
	  Fix FSF address
	  https://bugzilla.gnome.org/show_bug.cgi?id=687520

2012-10-30 13:39:52 +0100  Andreas Frisch <fraxinas@opendreambox.org>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvdsubdec: allocate correct amount of memory for bitmap
	  https://bugzilla.gnome.org/show_bug.cgi?id=687192

2012-10-30 09:27:24 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: removed unnecessary finalize function
	  https://bugzilla.gnome.org/show_bug.cgi?id=687176

2012-10-30 09:20:04 +0000  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	  siddec: reset bytes counter
	  Reset the total_bytes counter so that we get timestamps correct.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686931

2012-10-30 10:20:09 +1100  Jan Schmidt <thaytan@noraisin.net>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: Fix leaks from not chaining up in the finalize function

2012-10-25 12:38:47 +0100  Tim-Philipp Müller <tim@centricular.net>

	* configure.ac:
	* 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-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:
	* win32/common/config.h:
	  Back to feature development

=== release 1.0.2 ===

2012-10-25 01:11:10 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-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.0.2

2012-10-24 13:41:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/mpg123audiodec.c:
	  tests: fix up mpg123 test a little
	  - dist input files
	  - fix sample leak
	  - simplify check for elements
	  - only run mpg123 test if mpg123 is available and selected
	  - fix build in uninstalled setup
	  https://bugzilla.gnome.org/show_bug.cgi?id=686595

2012-10-24 12:30:10 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* tests/check/elements/mpg123audiodec.c:
	  tets: add unit test for mpg123audiodec
	  https://bugzilla.gnome.org/show_bug.cgi?id=686595

2012-10-24 00:36:42 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: added gtkdoc section
	  https://bugzilla.gnome.org/show_bug.cgi?id=686595

2012-10-24 00:22:05 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: fixed bug with last frame, disabled internal resampler & chatter
	  * The last MP3 frame wasn't being pushed when base class was draining
	  * Made sure mpg123 cannot ever use its (crude) internal resampler
	  * Disabled mpg123 stderr output
	  https://bugzilla.gnome.org/show_bug.cgi?id=686595

2012-10-24 20:10:03 +0800  Scott Fan <fanchp@neusoft.com>

	* gst/asfdemux/Makefile.am:
	* gst/realmedia/Makefile.am:
	  Makefile.am: Fix typos for generating the Android.mk files
	  Change libgstasfdemux to libgstasf, and change libgstrealmedia to libgstrmdemux.
	  The typos led to generate the incorrect Android.mk files for the asfdemux
	  and realmedia plugin.
	  https://bugzilla.gnome.org/show_bug.cgi?id=686748

2012-10-24 00:21:45 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: cleaned up comments, formatting, and logging lines
	  also replaced mpg123decoder->handle != NULL checks with asserts
	  https://bugzilla.gnome.org/show_bug.cgi?id=686595

2012-10-18 22:19:04 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: correctly set next cell when seeking to sector

2012-10-18 22:18:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/dvdsub/gstdvdsubparse.c:
	  dvdsubparse: send src caps when receiving sink caps

2012-10-12 14:49:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: update dvd event to enhanced approach
	  ... in line with resindvdsrc.

2012-10-07 17:08:37 +0100  Tim-Philipp Müller <tim@centricular.net>

	* docs/Makefile.am:
	  docs: add 'make upload' target for new-release script

2012-10-07 16:58:10 +0100  Tim-Philipp Müller <tim@centricular.net>

	* configure.ac:
	* 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-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:
	* win32/common/config.h:
	  Back to development (bug fixing)

=== release 1.0.1 ===

2012-10-07 16:13:11 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-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.0.1

2012-10-06 14:58:34 +0100  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 6c0b52c to 6bb6951

2012-10-01 00:01:09 +1000  Jan Schmidt <thaytan@noraisin.net>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Don't error out when there is no associated buffer
	  In 0.10, having mpeg2dec occasionally tell us to output a frame that
	  was never decoded was just ignored, so do the same in 1.0
	  Fixes: #685107

2012-09-29 12:13:00 +0100  Tim-Philipp Müller <tim@centricular.net>

	* REQUIREMENTS:
	* gst/dvdsub/gstdvdsubdec.c:
	  Purge mention of liboil and update REQUIREMENTS
	  https://bugzilla.gnome.org/show_bug.cgi?id=673285

2012-09-26 01:04:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/x264/gstx264enc.c:
	  x264enc: when setting fallback decoder latency, set valid min_latency
	  Min. latency needs to be a valid time, so pass 0 as default
	  value in the fallback case where we can't determine any latency,
	  and avoid nasty criticals at runtime.

2012-09-24 16:52:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* 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-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:
	* win32/common/config.h:
	  Back to development (bug fixing)

=== release 1.0.0 ===

2012-09-24 14:32:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-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.0.0

2012-09-22 16:08:54 +0100  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 4f962f7 to 6c0b52c

=== release 0.11.99 ===

2012-09-17 17:59:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/inspect/plugin-xingmux.xml:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.11.99

2012-09-17 16:57:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	  docs: update docs

2012-09-17 16:57:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/amrnb/Makefile.am:
	* ext/amrwbdec/Makefile.am:
	* ext/lame/Makefile.am:
	* ext/twolame/Makefile.am:
	* tests/check/Makefile.am:
	  Remove -DGST_USE_UNSTABLE_API

2012-09-17 12:22:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	  Update docs

2012-09-17 10:53:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/cdio/gstcdio.c:
	  cdio: work around cdio headers re-defining VERSION and PACKAGE_VERSION
	  Thanks guys. Fixes plugin version in gst-inspect-1.0 and docs
	  introspection/updating for this plugin.

2012-09-15 22:23:53 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>

	* gst-plugins-ugly.spec.in:
	  Switch to F18 package naming

2012-09-14 16:28:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/dvdread/demo-play:
	* tests/check/elements/mpeg2dec.c:
	  rename some caps and elements in examples

2012-09-14 02:58:26 +0100  Tim-Philipp Müller <tim@centricular.net>

	* configure.ac:
	  Back to development

=== release 0.11.94 ===

2012-09-14 02:49:34 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	* configure.ac:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.11.94

2012-09-14 01:48:50 +0100  Tim-Philipp Müller <tim@centricular.net>

	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* docs/plugins/gst-plugins-ugly-plugins.signals:
	* 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-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-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	  docs: update docs

2012-09-13 13:49:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: use DTS and PTS
	  Video uses DTS as timestamps. Set the DTS on the buffers and leave the PTS
	  undefined to make the decoder do the right thing. We can then remove the code
	  that tries to guess the PTS from the DTS.

2012-09-10 22:30:18 -0700  Jan Schmidt <thaytan@noraisin.net>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Hold ref to buffer while mapped
	  So that the buffer still exists when we go to unmap it later,
	  even if it got pushed in the meantime.

2012-09-11 16:48:51 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/x264enc.c:
	  x264enc test: x264enc produces constrained-baseline, not the full baseline

2012-09-11 17:37:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  gst: only activate in pull mode if upstream is seekable

2012-09-11 11:28:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rademux.c:
	  rademux: tags can be NULL

2012-09-11 11:13:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: fix email address

2012-09-11 11:12:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: init base class method only once

2012-09-11 10:46:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/xingmux/gstxingmux.c:
	  xingmux: remove defunct commented code

2012-09-11 10:40:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvbsubdec: handle and send GAP event
	  ... in stead of update newsegment event.

2012-09-11 10:34:40 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvbsubdec: adjust disabled code comment style

2012-09-09 15:48:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: clean up some debug statements

2012-09-07 17:38:18 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: handle possibly negative DTS provided by codec
	  ... by arranging for an offset such that DTS == PTS for keyframes,
	  which is expected elsewhere to go along with semantics of PTS and DTS.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679443

2012-09-07 13:31:15 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>

	* gst-plugins-ugly.spec.in:
	  Fix spec file for ugly

2012-09-06 14:42:51 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/mpeg2dec.c:
	  tests: mpeg2dec: initialize variable
	  ... which avoids test segfaulting.

2012-08-30 16:26:00 -0700  Edward Hervey <edward@collabora.com>

	* tests/check/elements/mpeg2dec.c:
	  check: Feed parsed data to mpeg2dec
	  And fix the expected output caps by adding colorimetry field

2012-08-22 13:31:00 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 668acee to 4f962f7

2012-08-22 13:19:01 +0200  Stefan Sauer <ensonic@users.sf.net>

	* configure.ac:
	  configure: bump gtk-doc req to 1.12 (mar-2009)
	  This allows us to e.g. unconditionally use gtkdoc-rebase.

2012-08-20 23:32:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* docs/plugins/inspect/plugin-dvdsub.xml:
	* gst/dvdsub/gstdvdsubdec.c:
	* gst/dvdsub/gstdvdsubparse.c:
	  video/x-dvd-subpicture -> subpicture/x-dvd

2012-08-09 16:30:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Use new video encoder base class API for handling tags

2012-08-09 11:48:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: Give MARGINAL rank to the mpg123 decoder element

2012-08-08 16:27:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvdsubdec: Set alignment at the correct place of GstAllocationParams

2012-08-08 16:26:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  Back to development

=== release 0.11.93 ===

2012-08-08 15:23:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.11.93

2012-08-08 15:23:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	* gst/realmedia/rmdemux.c:
	  gst: silence some compiler warnings with -DG_DISABLE_ASSERT

2012-08-08 12:58:50 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/mpg123/Makefile.am:
	  mpg123: dist header file

2012-08-06 15:31:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: avoid some more invalid timestamp arithmetic
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681291

2012-08-05 18:30:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  gst: Add stream-id to stream-start events

2012-07-27 11:35:52 +0200  Edward Hervey <edward@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Don't use NULL values for fbuf
	  We need to make a difference between the initial dummy buffers (which
	  have a fbuf->id of NULL) and the buffers on which we allocated
	  video frames.

2012-08-05 16:40:57 +0100  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 94ccf4c to 668acee

2012-08-04 16:13:36 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/a52dec/gsta52dec.c:
	* ext/lame/gstlamemp3enc.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmutils.c:
	  gst_tag_list_free -> gst_tag_list_unref

2012-08-03 13:43:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: map input buffer in READ mode, not WRITE mode
	  Makes things actually work.

2012-08-03 11:50:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123: query supported output formats at run-time
	  Fixes stuff. We use a string here since we can't be bothered
	  with GValue.

2012-08-03 11:48:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpg123/Makefile.am:
	  mpg123: hook up to build system

2012-08-03 11:13:48 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/mpg123/gstmpg123audiodec.c:
	* ext/mpg123/gstmpg123audiodec.h:
	  mpg123: add new libmpg123-based mp3 decoder plugin
	  Needs a bit of cleaning up.
	  https://bugzilla.gnome.org/show_bug.cgi?id=681003

2012-07-28 00:28:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	* ext/x264/gstx264enc.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  tag: Update for taglist/tag event API changes

2012-07-26 18:30:04 +0200  Edward Hervey <edward@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Avoid dropping first GOP
	  We use the mpeg2_fbuf_t id field as an integer and not as a pointer, so
	  do not check if it is NULL or not.
	  And cleanup a bit of debug

2012-07-25 13:05:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rdtmanager.h:
	  rdt: add on-npt-stop signal
	  rtspsrc will look for it.

2012-07-25 12:48:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rdtmanager.c:
	  rdt: set caps after activating the pad

2012-07-25 12:48:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/gstrdtbuffer.c:
	  rdt: reset map info

2012-07-25 09:37:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  asfdepay: fix padding correction
	  Fix padding correction. gst_buffer_copy_into() appends the memory to the already
	  existing memory in the target buffer..
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680536

2012-07-23 13:32:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: copy buffer flags when cropping
	  When we crop a buffer, copy the flags as well.

2012-07-23 11:25:34 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Fix GstVideoInfo pointer

2012-07-23 11:13:05 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Correctly flag output buffer interlaced state
	  If the sequence is not flagged as progressive its buffers are marked
	  interlace mode mixed. There is an individual picture flag indicating
	  whether picture in the sequence are interlaced or not. This is used
	  along with the new GST_VIDEO_BUFFER_FLAG_INTERLACED to correctly and
	  completely indicate the buffer's interlaced state.
	  Also, TFF and RFF should only be set if the sequence is not progressive.

2012-07-23 10:33:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  ext: Update for video base classes API changes

2012-07-23 08:45:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 98e386f to 94ccf4c

2012-07-20 16:12:45 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: make sure to avoid arithmetic with _NONE timestamp

2012-07-16 17:36:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: convert invalid 0 payload TS into GST_CLOCK_TIME_NONE
	  ... so it does not get used as first (valid) payload ts, whereas
	  the first real valid payload ts may be considerably larger.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679838

2012-07-20 14:41:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: slightly relax supported seek requirements
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680279

2012-07-19 09:58:50 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Propagate GstFlowReturn where needed
	  It was just ignoring the return values...

2012-07-19 09:56:17 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Store temporary buffers out of the way
	  When mpeg2dec needs to do cropping (because downstream can't handle it),
	  we need temporary buffers to decode to.
	  Use the user_data field to store those, and unify the rest of the code
	  that needs to touch a buffer (regardless of how/where it was allocated).
	  https://bugzilla.gnome.org/show_bug.cgi?id=680194

2012-07-18 18:32:54 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Call gst_video_decoder_negotiate()

2012-07-18 17:21:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: give stream tags a different event name so they don't overwrite global tags
	  There can only be one taglist per name for sticky tag events.
	  Needs to be fixed more properly, see
	  https://bugzilla.gnome.org/show_bug.cgi?id=677619

2012-07-18 16:49:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rademux.c:
	  rademux: set/send caps on pad after activating it

2012-07-18 16:46:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: set/send caps after activating the source pads
	  Makes sure the caps event isn't dropped immediately.

2012-07-17 20:54:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: mustn't drop queries like caps query if not started yet

2012-07-15 20:12:46 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: extract WM/Year as GstDateTime instead of GDate
	  So we can signal that only the year field is valid.

2012-07-13 15:41:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: don't leak payload if we are not pushing it

2012-07-13 13:59:16 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  demuxers: Push STREAM_START when needed

2012-07-13 11:36:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asf: don't push on inactive streams

2012-07-12 18:05:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: set rank to NONE
	  It should never be autoplugged really, for DVD
	  playback there's rsndvd (or will be, realsoonnow).

2012-07-09 16:27:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  fix for allocator API changes

2012-07-06 11:50:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  update for query api changes

2012-07-06 11:27:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  update for query api changes

2012-07-06 11:03:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  update for allocation query changes

2012-07-05 23:23:33 +0100  Tim-Philipp Müller <tim@centricular.net>

	* LICENSE_readme:
	  LICENSE_readme: fix typo

2012-07-05 22:48:18 +0100  Tim-Philipp Müller <tim@centricular.net>

	* LICENSE_readme:
	  LICENSE_readme: mention x264
	  https://bugzilla.gnome.org/show_bug.cgi?id=679472

2012-07-05 13:12:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  gst: Implement segment-done event

2012-06-27 11:23:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asf: fix x-wmv format in caps

2012-06-27 10:24:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	  asf: unmap packets

2012-06-21 15:13:57 +0100  Bastien Nocera <hadess@hadess.net>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/asfpacket.h:
	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Ignore parsing errors from broken packets
	  We should instead be counting the number of errors and exiting if
	  they're too numerous. This makes a number of broken ASF files playable.
	  https://bugzilla.gnome.org/show_bug.cgi?id=678543
	  Conflicts:
	  gst/asfdemux/asfpacket.c
	  gst/asfdemux/gstasfdemux.c

2012-06-26 17:15:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  fix interlace-mode

2012-06-25 09:43:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Add comment explaining why we first chain up to the parent class' decide_allocation

2012-06-25 09:34:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Set allocation parameters to guarantee 16-byte aligned output buffers
	  Fixes bug #377713.

2012-06-20 13:36:25 -0400  Matej Knopp <matej.knopp@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Fix unitialized variable and taglist event

2012-06-20 13:23:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: fix compilation

2012-06-20 10:39:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	  update for task api change

2012-06-20 10:39:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/x264/gstx264enc.c:
	  fix compilation

2012-06-20 09:06:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: Port to 0.11 again

2012-06-19 15:19:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Fix compiler warning

2012-05-30 12:50:13 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: Report PAR if not present upstream
	  And clean up some code

2012-05-04 16:09:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: use _scale_ceil to compute frame period
	  https://bugzilla.gnome.org/show_bug.cgi?id=675769

2012-05-04 16:08:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: mpeg2dec actually has 3 frame latency
	  https://bugzilla.gnome.org/show_bug.cgi?id=675769

2012-05-01 18:49:03 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Fix large output buffers leak

2012-05-01 18:46:31 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Port to new way of handling frame reference

2012-05-01 16:12:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: don't leak input_state

2012-04-13 19:06:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: Port to GstVideoDecoder base class
	  Conflicts:
	  ext/mpeg2dec/gstmpeg2dec.c
	  ext/mpeg2dec/gstmpeg2dec.h
	  Back to 0.10 state, needs to be ported to 0.11 again.

2012-06-19 09:26:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master'

2012-06-19 09:26:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Port to 0.11 again

2012-05-07 11:52:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Don't set latency while holding object lock
	  This reverts commit 30a0b50e9ca0d625e61f994d4f8acd022dcddf38.
	  https://bugzilla.gnome.org/show_bug.cgi?id=675762

2012-05-03 18:07:24 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Use video encoder stream lock to avoid deadlock

2012-05-01 18:45:33 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Port to new way of passing frame reference

2012-04-30 19:00:09 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Set default stream-format to avc as it's a better format

2012-04-26 22:27:55 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Fix setting latency
	  Fixes setting latency when framerate is dynamic and round up the latency
	  to avoid rounding issues.

2012-04-30 18:59:44 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264enc: gst_video_encoder_get_frame() is now transfer full

2012-04-26 17:31:45 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264enc: don't leak output state

2012-04-18 17:09:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Remove x264 backward compatibility support

2012-04-18 16:13:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Report latency base on x264 buffer size

2012-04-17 15:44:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* configure.ac:
	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Port to GstVideoEncoder baseclass
	  Conflicts:
	  configure.ac
	  ext/x264/gstx264enc.c
	  ext/x264/gstx264enc.h
	  Back to 0.10 state, needs to be ported to 0.11 again.

2012-06-16 18:29:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Android.mk:
	* LICENSE_readme:
	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/inspect/plugin-synaesthesia.xml:
	* gst/synaesthesia/.gitignore:
	* gst/synaesthesia/Makefile.am:
	* gst/synaesthesia/README:
	* gst/synaesthesia/gstsynaesthesia.c:
	* gst/synaesthesia/gstsynaesthesia.h:
	* gst/synaesthesia/synaescope.c:
	* gst/synaesthesia/synaescope.h:
	  synaesthesia: remove experimental GPL-ed synaesthesia plugin
	  It never made it out of experimental, and there's a new
	  synaescope element in gst-plugins-bad that's hopefully
	  sufficiently similar.
	  https://bugzilla.gnome.org/show_bug.cgi?id=356882

2012-06-16 18:13:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/mpegstream/.gitignore:
	  mpegstream: remove leftover hidden .gitignore file

2012-06-08 15:55:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/synaesthesia/gstsynaesthesia.c:
	* tests/check/elements/amrnbenc.c:
	* tests/check/elements/x264enc.c:
	  elements: Use gst_pad_set_caps() instead of manual event fiddling

2012-06-08 15:05:22 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 03a0e57 to 98e386f

2012-06-07 16:28:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  Back to development

=== release 0.11.92 ===

2012-06-07 16:28:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.11.92

2012-06-07 16:28:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

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

2012-06-06 18:19:06 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 1fab359 to 03a0e57

2012-06-06 13:03:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	* gst/asfdemux/gstasfdemux.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  update for tag event change

2012-06-01 10:29:16 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From f1b5a96 to 1fab359

2012-05-31 13:08:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 92b7266 to f1b5a96

2012-05-30 12:45:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From ec1c4a8 to 92b7266

2012-05-30 11:24:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 3429ba6 to ec1c4a8

2012-05-26 23:41:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rmutils.c:
	  realmedia: don't use GstStructure API on tag lists

2012-05-21 14:57:44 +0200  Julien Isorce <julien.isorce@gmail.com>

	* ext/a52dec/gsta52dec.c:
	  a52dec: really prefer the original number (and position) of channels
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676495

2012-05-24 12:32:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From dc70203 to 3429ba6

2012-05-17 21:12:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/x264/gstx264enc.c:
	  x264: bump x264 requirement to build 106 or later
	  Build 106 is from September 2010.
	  https://bugzilla.gnome.org/show_bug.cgi?id=676257

2012-04-15 23:39:48 +0400  Руслан Ижбулатов <lrn1986@gmail.com>

	* ext/a52dec/gsta52dec.c:
	* m4/a52.m4:
	  a52dec: adapt to work also with new liba52
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674091

2012-05-17 12:40:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: trigger renegotiation upon changed stream channels
	  Fixes #675451

2012-05-16 09:13:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Require core/base 0.11.91

2012-01-13 18:18:33 -0500  Matej Knopp <matej.knopp@gmail.com>

	* .gitignore:
	  .gitignore: add visual studio IDE files and OS X .DS_Store files
	  https://bugzilla.gnome.org/show_bug.cgi?id=667899

2012-05-13 17:00:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  Back to development

=== release 0.11.91 ===

2012-05-13 16:49:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* configure.ac:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.11.91

2012-05-13 16:48:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

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

2012-05-13 16:45:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-ugly

2012-05-13 15:56:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From dc70203 to 3429ba6

2012-04-24 15:27:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: Use correct enum type

2012-05-10 10:11:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: implement pull mode seek snap flags when an index is present
	  Also ensure we get a proper EOS when seeking past the end of the
	  file, or (when the snap after flag is set) between the last keyframe
	  and the end of the file.

2012-05-03 23:50:30 +0100  Leon Merten Lohse <leon@green-side.de>

	* ext/cdio/gstcdio.c:
	* ext/cdio/gstcdio.h:
	* ext/cdio/gstcdiocddasrc.c:
	  cdio: compensate for libcdio's recent cd-text api changes
	  https://bugzilla.gnome.org/show_bug.cgi?id=675112
	  Conflicts:
	  ext/cdio/gstcdiocddasrc.c

2012-04-30 21:27:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdread: fix build after recent include reshuffling in core
	  Need to include gmodule.h ourselves now.

2012-04-19 12:22:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  video: Update for libgstvideo API changes

2012-04-16 09:09:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 6db25be to dc70203

2012-04-12 13:56:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/asfpacket.h:
	  asfdemux: fix performance issue, especially with high-bitrate streams
	  Two things were suboptimal from a performance point of view:
	  a) consider a large media object such as a video keyframe, which
	  may be split up into multiple fragments. We would assemble
	  the media object as follows:
	  buf = join (join (join (frag1, frag2), frag3), frag4)
	  which causes many unnecessary memcpy()s, and malloc/free,
	  which could easily add up to a multiple of the actual object
	  size. To avoid this, we allocate a buffer of the size needed
	  from the start and copy fragments into that directly.
	  b) for every fragment to join, we would create a sub-buffer
	  before joining it (which would discard the sub-buffer again),
	  leading to unnecessary miniobject create/free churn.
	  Conflicts:
	  gst/asfdemux/asfpacket.c
	  gst/asfdemux/asfpacket.h

2012-04-12 14:45:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: avoid unnecessary stream lookup
	  We have already retrieved the stream for that stream number and
	  made sure it's not NULL, so no need to do it again here; neither
	  the number nor the streams changed since the last time.

2012-04-02 19:31:20 +0200  Alban Browaeys <prahal@yahoo.com>

	* ext/a52dec/gsta52dec.c:
	  a52dec: fix first_access bigger than 2
	  gst_buffer_extract returns the number of bytes extracted, here 2 max.
	  Set size to the buffer size as was done in 0.10 to avoid first_access
	  error when it bypass 2.
	  https://bugzilla.gnome.org/show_bug.cgi?id=673434

2012-04-13 13:43:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* autogen.sh:
	* configure.ac:
	  configure: Modernize autotools setup a bit
	  Also we now only create tar.bz2 and tar.xz tarballs.

2012-04-13 13:37:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 464fe15 to 6db25be

2012-04-12 11:19:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  Back to development

=== release 0.11.90 ===

2012-04-12 10:40:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.prerequisites:
	* 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-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.11.90

2012-04-12 10:39:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

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

2012-04-10 00:48:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mad/gstmad.c.orig:
	  mad: remove .c.orig file

2012-04-10 00:47:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	* ext/amrwbdec/amrwbdec.c:
	* ext/cdio/gstcdiocddasrc.c:
	* ext/dvdread/dvdreadsrc.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/mad/gstmad.c:
	* ext/mad/gstmad.c.orig:
	* 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/asfdemux/gstrtspwms.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/realmedia/rtspreal.c:
	* gst/synaesthesia/gstsynaesthesia.c:
	* gst/xingmux/gstxingmux.c:
	  Use new gst_element_class_set_static_metadata()

2012-04-05 18:43:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 7fda524 to 464fe15

2012-04-05 17:40:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	* ext/amrnb/amrnb.c:
	* ext/amrwbdec/amrwb.c:
	* ext/cdio/gstcdio.c:
	* ext/dvdread/dvdreadsrc.c:
	* ext/lame/plugin.c:
	* ext/mad/gstmad.c:
	* ext/mad/gstmad.c.orig:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/sidplay/gstsiddec.cc:
	* ext/twolame/gsttwolamemp2enc.c:
	* ext/x264/gstx264enc.c:
	* gst/asfdemux/gstasf.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdsub/gstdvdsubdec.c:
	* gst/realmedia/realmedia.c:
	* gst/synaesthesia/gstsynaesthesia.c:
	* gst/xingmux/plugin.c:
	  gst: Update for GST_PLUGIN_DEFINE() API changes

2012-04-05 13:26:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Update version to 0.11.89.1

2012-04-04 14:38:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/version.entities.in:
	* ext/a52dec/Makefile.am:
	* ext/amrnb/Makefile.am:
	* ext/amrwbdec/Makefile.am:
	* ext/cdio/Makefile.am:
	* ext/lame/Makefile.am:
	* ext/mad/Makefile.am:
	* ext/mpeg2dec/Makefile.am:
	* ext/sidplay/Makefile.am:
	* ext/twolame/Makefile.am:
	* ext/x264/Makefile.am:
	* gst-plugins-ugly.spec.in:
	* gst/asfdemux/Makefile.am:
	* gst/dvdlpcmdec/Makefile.am:
	* gst/dvdsub/Makefile.am:
	* gst/realmedia/Makefile.am:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-plugins-ugly-uninstalled.pc.in:
	* tests/check/Makefile.am:
	  gst: Update versioning

2012-04-02 15:21:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: fix cropping
	  fix cropping in mpeg2dec

2012-04-01 20:19:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: add crop metadata when buffer is still writable

2012-03-30 18:13:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  update for buffer api change

2012-03-30 11:52:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	* ext/mad/gstmad.c:
	  ext: Update for audio decoder API changes

2012-03-29 17:32:08 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/amrnbenc.c:
	* tests/check/elements/x264enc.c:
	  tests: make more valgrind-friendly and plug caps leak

2012-03-28 12:50:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/dvdsub/gstdvdsubdec.c:
	  update for buffer changes

2012-03-27 14:07:40 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/x264enc.c:
	  tests: x264enc: adjust test to removal of deprecated properties

2012-03-26 12:13:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Replace master with 0.11

2012-03-22 15:56:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  back to development

=== release 0.11.2 ===

2012-03-22 15:52:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* 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-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* gst-plugins-ugly.doap:
	* 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/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:
	* win32/common/config.h:
	  Release 0.11.2

2012-03-21 13:18:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/mpeg2dec.c:
	  tests: fix after memory changes

2012-03-21 13:18:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: remove deprecated properties

2012-03-20 12:08:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  So 0.11 folks also get amr include fixes.
	  Conflicts:
	  ext/a52dec/gsta52dec.c
	  ext/mad/gstmad.c

2012-03-18 18:56:16 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/synaesthesia/gstsynaesthesia.c:
	  synaesthesia: fixup for bufferpool api changes
	  ... as well as some caps ref handling.

2012-03-16 21:48:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  don't pass random pointers to pull_range

2012-03-15 22:11:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  update for bufferpool changes

2012-03-15 20:38:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  update for allocation query changes

2012-03-15 13:38:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/x264/gstx264enc.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdsub/gstdvdsubdec.c:
	  update for memory api changes

2012-03-14 19:52:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  take padding into account

2012-03-13 18:27:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: simplify parsing code
	  Also fixes #671455 (expected at least).

2012-03-12 16:16:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  configure.ac: bump required GLib to 2.31.14
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=671911

2012-03-12 12:23:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	  fix for caps _normalize changes

2012-03-11 19:07:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  fix for caps api changes

2012-03-06 16:08:23 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	* ext/a52dec/gsta52dec.h:
	  a52dec: use base class tag handling helper
	  ... so as to ensure these to be handled and sent at proper time.

2012-03-06 14:28:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: Use variable type with correct signedness

2011-01-14 18:50:41 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Copy planes in one go when possible

2012-03-03 17:17:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/amrnb/amrnbdec.h:
	* ext/amrnb/amrnbenc.h:
	* ext/amrwbdec/amrwbdec.h:
	  amrnb, amrwbdec: fix build with opencore-amr >= 0.1.3
	  In previous versions, the opencore-amr include sub-directory
	  would be specified in the include path in the CFLAGS, but this
	  is no longer the case in newer versions, so we need to add those
	  to our include directives.
	  Based on patch by: Christian Morales Vega
	  https://bugzilla.gnome.org/show_bug.cgi?id=671123

2012-03-03 16:56:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: get rid of non-pkg-config ways to check for opencore-amr

2012-02-29 17:26:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  update for metadata API changes

2012-02-27 06:35:01 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/amrwbdec/Makefile.am:
	* ext/lame/Makefile.am:
	* ext/mad/Makefile.am:
	  amrwbdec, lame, mad: link to libgstbase

2012-02-27 06:33:48 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix compiler warning

2012-02-27 00:36:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2012-02-27 00:34:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge commit '02f5d72a0519bcbe8f6958fab6dd998fc8ccda6b' into 0.11
	  Conflicts:
	  ext/mad/gstmad.c

2012-02-23 11:20:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  Bump version after release

2012-02-21 18:58:06 -0800  David Schleef <ds@schleef.org>

	* autogen.sh:
	  autogen.sh: avoid touching .po files during 'make'
	  A simple workaround to deal with GNU gettext automake integration
	  failing to deal with git.  Fixes: #669207

2012-02-22 02:17:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264: convert g_print to LOG

2012-02-22 02:07:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  update for new memory api

2012-02-22 02:07:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: handle pts and dts

2012-02-21 18:53:57 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: handle libmad freeform parsing quirk

2012-02-21 18:49:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: fixup unhacking last frame coaxing
	  ... so as to not only replace the data pointer but also available size.

2012-02-20 14:27:49 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-ugly.spec.in:
	  Add latest plugins

2012-02-18 00:02:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/config.h:
	  win32: back to development

2012-02-17 17:53:34 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* configure.ac:
	* gst/synaesthesia/gstsynaesthesia.c:
	* gst/synaesthesia/gstsynaesthesia.h:
	  synaesthesia: port to 0.11

2012-02-17 17:53:28 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* configure.ac:
	* gst/xingmux/gstxingmux.c:
	  xingmux: port to 0.11

2012-02-17 11:06:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  back to development

=== release 0.11.1 ===

2012-02-17 11:06:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* 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-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* gst-plugins-ugly.doap:
	* 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/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:
	* win32/common/config.h:
	  RELEASE 0.11.1

2012-02-17 09:16:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/mad/gstmad.c

2012-02-16 14:29:47 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: unhack last frame coaxing
	  ... so as to maximally use available base class API and interfere least
	  as possible with its internal state.

2012-02-15 13:45:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: fix compilation

2012-02-15 13:40:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: chain up to default event handler

2012-02-11 05:38:41 -0500  Matej Knopp <matej.knopp@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: unmap video frame after encoding
	  Fixes major memory leak.
	  https://bugzilla.gnome.org/show_bug.cgi?id=669863

2012-02-10 17:02:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: fix after merge

2012-02-10 17:00:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/x264/gstx264enc.c

2012-02-09 18:10:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	* ext/sidplay/gstsiddec.h:
	  sidplay: don't use ulong properties

2012-02-09 16:14:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	  sidplay: fix negotiation

2012-02-09 11:55:07 +0100  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Add baseline profile to caps
	  libx264 does not yet support the features that create the difference
	  between baseline and constrained baseline profile. Hence it currently
	  supports both though it can only technically encode constrained
	  baseline.

2012-02-08 16:38:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/amrnb/amrnbenc.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rdtmanager.c:
	  GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING

2012-02-07 18:56:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/mpeg2dec.c:
	  mpeg2dec: fix test a bit more
	  Still broken because cropping is broken in mpeg2dec

2012-02-07 11:06:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/amrnbenc.c:
	* tests/check/elements/x264enc.c:
	* tests/check/elements/xingmux.c:
	  tests: fix some tests

2012-02-01 16:20:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/twolame/gsttwolamemp2enc.c:
	  twolame: Use new audio encoder/decoder base class API for srcpad caps

2012-02-01 16:20:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lame: Use new audio encoder/decoder base class API for srcpad caps

2012-02-01 16:19:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: Use new audio encoder/decoder base class API for srcpad caps

2012-02-01 16:17:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Use new audio encoder/decoder base class API for srcpad caps

2012-02-01 16:15:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/amrwbdec/amrwbdec.c:
	  amrwbdec: Use new audio encoder/decoder base class API for srcpad caps

2012-02-01 16:14:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	  amrnb: Use new audio encoder/decoder base class API for srcpad caps

2012-01-31 15:52:38 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: ensure we do not confuse the base class with our buffer guard
	  mad expects extra bytes at the end of a buffer (see discussion in
	  http://www.mars.org/mailman/public/mad-dev/2001-May/000262.html),
	  and since we inject these without the base class' knowledge, we
	  need to hide the bodies better.
	  This fixes an assert at EOS when decoding an mp3 manually without
	  an intervening mpegaudioparse.

2012-01-30 17:17:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rtspreal.c:
	  update for HEADER flag

2011-07-20 09:00:58 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: implement force-key-unit API

2012-01-25 13:58:48 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* common:
	  Automatic update of common submodule
	  From c463bc0 to 7fda524

2012-01-25 13:58:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/amrnb/amrnbdec.c:
	* ext/amrwbdec/amrwbdec.c:
	  amr: port to 0.11 again

2012-01-25 13:03:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/a52dec/gsta52dec.c

2012-01-25 07:24:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* 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:
	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstrtpasfdepay.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdsub/gstdvdsubdec.c:
	* gst/dvdsub/gstdvdsubdec.h:
	* gst/realmedia/gstrdtbuffer.c:
	* gst/realmedia/gstrdtbuffer.h:
	* gst/realmedia/rdtdepay.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmutils.c:
	  port to new memory API

2012-01-25 11:38:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 2a59016 to c463bc0

2012-01-22 23:56:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/glib-compat-private.h:
	  Remove compatibility versions for deprecated GLib API

2012-01-19 15:26:25 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: fix read buffer overflow upon syncing
	  The wrong size was being decremented, leading to a runaway
	  read loop.

2012-01-19 15:06:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* configure.ac:
	  Add --disable-fatal-warnings configure option

2012-01-19 11:34:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	  port to new gthread API

2012-01-18 17:00:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure.ac: Require GLib 2.31.10 for consistency

2012-01-18 16:46:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 0807187 to 2a59016

2012-01-17 11:55:59 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/amrwbdec/amrwbdec.c:
	  amrwbdec: _parse should not return OK if not enough data yet

2012-01-17 11:55:14 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/amrnb/amrnbdec.c:
	  amrnbdec: _parse should not return OK if not enough data yet

2012-01-13 15:03:50 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: fix off by one in cell calculation for the last chapter

2012-01-13 15:56:47 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: set caps on src pad before adding it

2012-01-13 15:56:25 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: perform writable buffer map to copy into it

2012-01-13 15:55:15 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/asfpacket.h:
	  asfpacket: fix 0.11 ported payload extraction
	  ... to cater for not necessarily offset == size - cur_pos,
	  as size may have been adjusted due to padding.
	  Fixes #667567.

2012-01-13 13:46:50 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: remove useless and semantically (though not practically) wrong code
	  The object will be freed, so it's pointless to set the pointers
	  to NULL anyway.

2012-01-13 13:46:28 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: remove leaking "optimization"

2012-01-13 00:05:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  GST_TYPE_DATE -> G_TYPE_DATE

2012-01-13 00:01:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/a52dec/gsta52dec.c

2012-01-12 13:25:22 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: plug buffer leak

2012-01-12 13:20:26 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: plug buffer leak

2012-01-11 12:31:11 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/amrnb/amrnbenc.c:
	  amrnbenc: _map and _unmap the appropriate input and output buffers

2012-01-10 15:25:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Fix some merge mistakes

2012-01-10 15:17:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/a52dec/gsta52dec.c
	  ext/a52dec/gsta52dec.h
	  ext/lame/gstlame.c
	  ext/lame/gstlame.h
	  ext/lame/gstlamemp3enc.c
	  ext/mad/gstmad.c
	  ext/mad/gstmad.h
	  gst/mpegaudioparse/gstmpegaudioparse.c
	  gst/mpegstream/gstdvddemux.c
	  gst/realmedia/rdtdepay.c
	  po/es.po
	  po/lv.po
	  po/sr.po

2012-01-10 11:41:52 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/dvdsub/Makefile.am:
	  dvdsub: add some CFLAGS and LIBS in Makefile.am
	  ... since adapter is still used.

2012-01-09 16:00:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Don't use buffer after unreffing

2012-01-09 15:46:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Only change writable caps and make sure to set updated caps on the srcpad

2012-01-09 15:24:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: Correctly unmap the buffer with the original data pointer

2012-01-09 15:15:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: Make sure to set caps on the srcpad if none are set yet

2012-01-08 14:24:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mad/Makefile.am:
	  mad: fix LIBS order in Makefile.am

2012-01-07 21:04:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mad/gstmad.h:
	  mad: remove left-over id3tag.h include
	  We don't use libid3tag any more.

2012-01-05 12:17:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  dvdlpcmdec: fix for multichannel

2012-01-04 16:05:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	* ext/a52dec/gsta52dec.h:
	  a52dec: Update for the new raw audio caps

2012-01-04 15:49:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: Update for the new raw audio caps

2012-01-04 15:45:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: Update for the new raw audio caps

2012-01-04 15:44:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/twolame/gsttwolamemp2enc.c:
	  twolamemp2enc: Update for the new raw audio caps

2012-01-04 15:43:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/amrwbdec/amrwbdec.c:
	  amrwbdec: Add the new layout field to the raw audio caps

2012-01-04 15:42:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	  amrnb: Add the new layout field to the raw audio caps

2012-01-04 15:26:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.h:
	  dvdlpcmdec: Port to the new raw audio caps

2012-01-04 15:12:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Update for libgstriff API changes
	  Still needs to handle audio channel reordering.

2012-01-04 19:53:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 50b34ab to 0807187

2012-01-04 17:05:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/lame/Makefile.am:
	  lame: fix LIBADD order in Makefile.am

2012-01-04 10:33:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/amrnbenc.c:
	* tests/check/elements/mpeg2dec.c:
	* tests/check/elements/x264enc.c:
	* tests/check/elements/xingmux.c:
	* tests/check/generic/states.c:
	  tests: make tests compile

2012-01-03 15:27:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/amrwbdec/amrwbdec.c:
	* ext/dvdread/dvdreadsrc.c:
	* ext/mad/gstmad.c:
	* ext/sidplay/gstsiddec.cc:
	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/pnmsrc.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	  GST_FLOW_UNEXPECTED -> GST_FLOW_EOS

2011-12-30 18:31:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: disable generic index test

2011-12-30 17:53:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: remove all seeking-related code
	  A parser or demuxer upstream should handle this Same for
	  queries.

2011-12-30 17:49:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: update for GstIndex removal

2011-12-30 17:46:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/cdio/gstcdiocddasrc.c:
	  cdio: update for probe vfunc removal in GstAudioCdSrc

2011-12-27 22:54:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	  lame: fix printf format in debug statements
	  https://bugzilla.gnome.org/show_bug.cgi?id=666926

2011-12-26 18:24:32 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlame.h:
	  lame: ensure parsed output
	  ... by doing some basic parsing of encoded lame data.

2011-12-26 16:34:01 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/lame/gstlame.h:
	  lame: cleanup unused instance struct fields

2011-12-26 18:23:52 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/lame/Makefile.am:
	* ext/lame/gstlamemp3enc.c:
	* ext/lame/gstlamemp3enc.h:
	  lamemp3enc: ensure parsed output
	  ... by doing some basic parsing of encoded lame data.
	  Fixes #652150.

2011-12-26 18:15:41 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: do not leak merged tags

2011-12-22 15:23:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	  mad: helpfully bodge the last buffer to let mad decode the last frame
	  If http://www.mars.org/mailman/public/mad-dev/2001-May/000262.html is
	  to be believed, the last buffer must be followed by a number of 0 bytes
	  in order for the last frame to be decoded (at least in some cases).
	  Doing so seems to work here, fixing a missing 1152 samples when using
	  mp3parse before mad (not using mp3parse would yield the correct amount
	  of samples, if there's extra non-MP3 data after (eg, tag data)).

2009-01-25 22:49:11 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: map subtitle language tag to stream indicated in PGC data

2009-01-25 22:49:11 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/mpegstream/gstdvddemux.c:
	  dvddemux: tweak subtitle stream setup based on dvd language codes event
	  ... to allow for non-continuous subtitle stream numbers.
	  The missing stream numbers tend to come up as subtitle streams anyway
	  (albeit not with an identified language tag).

2011-12-21 13:56:35 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: minor safety tweak to sector seeking

2011-12-20 11:54:38 +0100  Julien Isorce <julien.isorce@gmail.com>

	* ext/a52dec/gsta52dec.c:
	  a52dec: check that a52_init returns a valid a52 state

2011-12-19 18:20:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: update for new interlaced flags

2011-12-14 17:33:52 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/a52dec/Makefile.am:
	* ext/a52dec/gsta52dec.c:
	* ext/a52dec/gsta52dec.h:
	  a52dec: port to audiodecoder

2011-12-12 13:44:12 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/mad/Makefile.am:
	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	  mad: port to audiodecoder

2011-12-13 14:54:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Don't claim to support upstream renegotiation
	  and use fixed caps on the srcpad. To correctly support
	  upstream renegotiation a52dec would need to check if the
	  caps of the downstream allocated buffer are the requested
	  caps or if the size is different.
	  Fixes bug #665989.

2011-12-13 14:52:26 +0100  Julien Isorce <julien.isorce@gmail.com>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Check that the a52_state is correctly initialized

2011-12-12 11:33:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/glib-compat-private.h:
	* gst/asfdemux/gstasfdemux.c:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	  Work around deprecated thread API in glib master
	  Add private replacements for deprecated functions such as
	  g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
	  to avoid the deprecation warnings. We can't change most of
	  these in 0.10 because they're part of our API and ABI.
	  Suppress deprecation warnings in selected files, mostly for
	  g_static_rec_mutex_*. StaticRecMutex is part of our API/ABI,
	  not much we can do here in 0.10.

2011-12-10 15:19:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/LINGUAS:
	* po/eo.po:
	* po/es.po:
	* po/lv.po:
	* po/sr.po:
	  po: update translations

2011-12-09 15:25:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rdtdepay.c:
	  rdtdepay: make buffer metadata writable before setting caps on it
	  Fixes issue when the header buffer is being pushed, which was taken
	  from the caps and is therefore not writable.

2011-12-06 14:00:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  fix for basesrc changes

2011-12-05 18:43:49 +0100  Edward Hervey <edward@collabora.com>

	* gst/asfdemux/gstrtpasfdepay.c:
	  rtpasfdepay: Initialize GstRTPBuffer before usage

2011-12-02 02:01:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/dvdread/dvdreadsrc.c

2011-11-29 08:49:23 +0100  Руслан Ижбулатов <lrn1986@gmail.com>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: Fix format string compiler warning
	  Fixes bug #665101.

2011-11-28 21:31:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-11-28 18:26:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  Update for indexable change

2011-11-28 17:52:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rdtmanager.c:
	  update for clock provider API change

2011-11-28 13:10:01 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	* ext/amrwbdec/amrwbdec.c:
	* ext/dvdread/dvdreadsrc.c:
	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/mad/gstmad.c:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/sidplay/gstsiddec.cc:
	* ext/twolame/gsttwolame.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/iec958/ac3iec.c:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstxingmux.c:
	* gst/mpegstream/gstdvddemux.c:
	* gst/mpegstream/gstmpegdemux.c:
	* gst/mpegstream/gstmpegparse.c:
	* gst/mpegstream/gstrfc2250enc.c:
	* gst/realmedia/pnmsrc.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtdepay.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	* gst/synaesthesia/gstsynaesthesia.c:
	  various: fix pad template ref leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=662664

2011-11-24 21:41:55 +0100  René Stadler <rene.stadler@collabora.co.uk>

	* tests/check/elements/xingmux.c:
	  tests: update for gstcheck API change

2011-11-23 23:29:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/amrnb/amrnbenc.c:
	* ext/dvdread/dvdreadsrc.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/twolame/gsttwolamemp2enc.c:
	  ext: fix more printf format warnings in debug messages

2011-11-21 22:02:07 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstrtpasfdepay.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdsub/gstdvdsubdec.c:
	* gst/dvdsub/gstdvdsubparse.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  Fix print format compiler warnings on OS X / 64bit
	  https://bugzilla.gnome.org/show_bug.cgi?id=662617

2011-11-21 13:36:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	  update for activation changes

2011-11-18 18:00:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  update for new scheduling query

2011-11-18 13:59:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	  add parent to activate functions

2011-11-17 15:25:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/sidplay/gstsiddec.cc:
	* ext/x264/gstx264enc.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdsub/gstdvdsubdec.c:
	* gst/dvdsub/gstdvdsubparse.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtdepay.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	  add parent to pad functions

2011-11-16 17:28:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/sidplay/gstsiddec.cc:
	* ext/x264/gstx264enc.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	  add parent to query function

2011-11-15 17:55:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	  _query_peer_*() -> _peer_query_*()

2011-11-15 17:42:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/dvdsub/gstdvdsubdec.c:
	  _accept_caps() -> _query_accept_caps()

2011-11-15 17:23:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  _peer_get_caps() -> _peer_query_caps()

2011-11-15 16:52:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  update for _get_caps() -> _query_caps()

2011-11-15 16:34:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  change getcaps to query

2011-11-14 00:55:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: re-instate accidentally dropped rank

2011-11-13 23:47:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	* gst/realmedia/pnmsrc.c:
	  Update for GstURIHandler get_protocols() changes

2011-11-13 19:01:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	* ext/dvdread/dvdreadsrc.h:
	* gst/realmedia/pnmsrc.c:
	  dvdreadsrc, pnmsrc: update for GstURIHandler changes

2011-11-13 01:33:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: re-port to 0.11
	  This time using the base class. Still something
	  wrong with the parsing though, when there's no
	  parser or demuxer upstream (which of course
	  shouldn't happen in a normal playback scenario).

2011-11-13 00:29:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	  mad: update for GstBaseAudioDecoder -> GstAudioDecoder rename

2011-08-16 21:12:06 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	  mad: replace with 0.10 version ported to GstAudioDecoder
	  Taken from commit 6e7e3657396454fe95fbd89170281865d4d1cec3
	  of Mark's baseaudio branch.
	  Would probably be too risky to drop this into 0.10 given
	  all the things mad is doing.

2011-11-13 00:13:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  docs: remove bits for old lame element from sections.txt file

2011-11-13 00:04:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Android.mk:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* gst-plugins-ugly.spec.in:
	* gst/mpegstream/Makefile.am:
	* gst/mpegstream/README:
	* gst/mpegstream/gstdvddemux.c:
	* gst/mpegstream/gstdvddemux.h:
	* gst/mpegstream/gstmpegclock.c:
	* gst/mpegstream/gstmpegclock.h:
	* gst/mpegstream/gstmpegdemux.c:
	* gst/mpegstream/gstmpegdemux.h:
	* gst/mpegstream/gstmpegpacketize.c:
	* gst/mpegstream/gstmpegpacketize.h:
	* gst/mpegstream/gstmpegparse.c:
	* gst/mpegstream/gstmpegparse.h:
	* gst/mpegstream/gstmpegstream.c:
	* gst/mpegstream/gstrfc2250enc.c:
	* gst/mpegstream/gstrfc2250enc.h:
	* gst/mpegstream/mpegstream.vcproj:
	* gst/mpegstream/notes:
	* win32/MANIFEST:
	* win32/vs6/gst_plugins_ugly.dsw:
	* win32/vs6/libgstac3parse.dsp:
	* win32/vs6/libgstmpegaudioparse.dsp:
	* win32/vs6/libgstmpegstream.dsp:
	  mpegstream: remove the old mpeg-ps parser and demuxers
	  Don't want anyone porting this by accident.
	  Superseded by mpegpsdemux in -bad.

2011-11-12 21:06:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/cdio/Makefile.am:
	* ext/cdio/gstcdio.c:
	* ext/cdio/gstcdiocddasrc.c:
	* ext/cdio/gstcdiocddasrc.h:
	  cdio: port cdiocddasrc to 0.11

2011-11-12 20:44:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/mpeg2dec.c:
	  tests: port mpeg2dec to 0.11
	  It compiles, but fails.

2011-11-12 20:33:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/x264enc.c:
	  tests: port x264enc unit test to 0.11
	  Well, it compiles now at least.

2011-11-11 12:33:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.h:
	  update for base class rename

2011-11-11 12:25:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	* gst/asfdemux/gstrtpasfdepay.h:
	  update for base class rename

2011-11-11 01:30:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.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:
	  po: update translations

2011-11-11 01:29:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* 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-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-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	  docs: update docs

2011-11-11 01:27:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: cosmetic error message change
	  LET'S TRY TO KEEP CAPITALS TO A MINIMUM.

2011-11-11 00:58:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* ext/twolame/Makefile.am:
	* ext/twolame/gsttwolamemp2enc.c:
	* ext/twolame/gsttwolamemp2enc.h:
	* po/POTFILES.in:
	  twolame: rename to twolamemp2enc

2011-11-11 00:51:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/twolame/gsttwolame.c:
	  twolame: port to 0.11

2011-11-10 23:17:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Android.mk:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* gst-plugins-ugly.spec.in:
	* gst/iec958/Makefile.am:
	* gst/iec958/ac3_padder.c:
	* gst/iec958/ac3_padder.h:
	* gst/iec958/ac3iec.c:
	* gst/iec958/ac3iec.h:
	* win32/MANIFEST:
	* win32/vs6/libgstiec958.dsp:
	  iec958: remove this plugin
	  I think it can just go away. Audio sinks can and should payload
	  things themselves using the helper API in libgstaudio. If such
	  a plugin still makes sense, it should probably be rewritten
	  using the library functions (and be put into -good or so).

2011-11-10 18:25:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rtspreal.c:
	  update for adapter api change

2011-11-10 11:04:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  update for removed fixate function

2011-11-09 11:58:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstmad.c:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rmdemux.c:
	  remove query types

2011-11-04 17:32:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtdepay.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmutils.c:
	  realmedia is ported

2011-11-04 16:40:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/mpegstream/gstdvddemux.c:
	* gst/mpegstream/gstmpegdemux.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmdemux.h:
	  more template fixes

2011-11-04 16:32:48 +0100  Edward Hervey <bilboed@bilboed.com>

	* po/POTFILES.in:
	  po: lame => lamemp3enc

2011-11-04 12:04:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rdtmanager.c:
	  make request pads take %u

2011-11-04 10:45:47 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: Add basic cropping support

2011-11-02 12:09:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	* ext/sidplay/gstsiddec.cc:
	* gst/asfdemux/gstasfdemux.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  tags: update for tag API removal

2011-10-31 02:24:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  update for meta api change

2011-10-29 09:10:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  structure: fix for api update

2011-10-31 14:34:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-10-30 15:05:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/amrnbenc.c:
	  tests: port amrnbenc test to 0.11

2011-10-30 15:04:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	  amrnb: fix up raw audio caps for 0.11

2011-10-30 15:03:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: need to define GST_USE_UNSTABLE_API to avoid warnings

2011-10-30 12:29:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/Makefile.am:
	* ext/lame/Makefile.am:
	* ext/lame/README:
	* ext/lame/gstlame.c:
	* ext/lame/gstlame.h:
	* ext/lame/plugin.c:
	* ext/lame/test-lame.c:
	* gst/xingmux/gstxingmux.c:
	* tests/check/pipelines/lame.c:
	  lame: remove lame element, it's been superseded by lamemp3enc

2011-10-30 11:51:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/mad/gstmad.c:
	* ext/sidplay/gstsiddec.cc:
	* gst/asfdemux/gstasfdemux.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  ext, gst: update for taglist API changes

2011-10-29 11:57:40 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Don't leak pending payload buffers
	  Fixes #662964

2011-10-28 15:21:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/sidplay/gstsiddec.cc

2011-10-27 16:53:44 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/sidplay/gstsiddec.cc:
	  siddec: use BOILERPLATE macro and cleanup FIXMEs

2011-10-28 09:18:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  asfdepay: fix compiler warnings after gst_caps_new_simple() change

2011-10-21 12:24:01 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-ugly.spec.in:
	  Update specfile with latest changes

2011-10-11 18:03:01 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Don't unmap a buffer that doesn't exist

2011-10-10 12:38:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* ext/dvdread/dvdreadsrc.c:
	  dvdread: port to 0.11

2011-10-06 17:24:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* gst/dvdsub/Makefile.am:
	* gst/dvdsub/gstdvdsubdec.c:
	* gst/dvdsub/gstdvdsubdec.h:
	* gst/dvdsub/gstdvdsubparse.c:
	  dvdsub: port to 0.11

2011-10-05 13:32:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/amrwbdec/Makefile.am
	  ext/amrwbdec/amrwbdec.c

2011-10-05 13:18:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/gstrdtbuffer.c:
	* gst/realmedia/gstrdtbuffer.h:
	* gst/realmedia/pnmsrc.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtdepay.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmutils.c:
	* gst/realmedia/rtspreal.c:
	  realmedia: port to 0.11

2011-10-05 12:05:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/amrwbdec/Makefile.am:
	* ext/amrwbdec/amrwbdec.c:
	* ext/amrwbdec/amrwbdec.h:
	  amrwbdec: port to audiodecoder

2011-10-04 17:00:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/amrnb/Makefile.am:
	  amrnbdec: fixup build

2011-10-04 17:00:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/amrnb/amrnbdec.c:
	  amrnbdec: remove leftover extraneous _unref

2011-10-04 17:50:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/amrnb/amrnbdec.c

2011-10-04 17:35:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	  amrnb: port to 0.11

2011-10-04 17:12:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* ext/amrwbdec/Makefile.am:
	* ext/amrwbdec/amrwbdec.c:
	  ported amrwbdec to 0.11

2011-10-03 17:19:02 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbdec.h:
	  amrnbdec: port to audiodecoder

2011-09-30 17:45:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-09-30 17:38:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: minimal port to 0.11

2011-09-05 11:11:52 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: post QoS messages when dropping a frame due to QoS
	  https://bugzilla.gnome.org/show_bug.cgi?id=658241

2011-09-28 13:05:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  configure: update ported plugins list

2011-09-28 13:03:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* common:
	  update to 0.11 branch

2011-09-27 20:32:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.h:
	  dvdlpcmdec: port to 0.11

2011-09-27 18:19:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	  lame: fix raw audio caps too

2011-09-27 18:15:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	  lame: port to 0.11

2011-09-27 17:54:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-09-27 17:51:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: port to 0.11

2011-09-27 17:01:59 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/amrnb/Makefile.am:
	* ext/amrnb/amrnbenc.c:
	* ext/amrnb/amrnbenc.h:
	  amrnbenc: port to audioencoder

2011-09-26 19:07:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/mad/gstmad.c

2011-09-26 19:03:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  port a52dec to 0.11

2011-09-26 16:29:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/twolame/gsttwolame.c:
	  twolame: Simple fix for GstAudioEncoder API change

2011-09-26 16:28:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/twolame/gsttwolame.c:
	  twolame: Fix variable 'gstelement_class' set but not used compiler warning

2011-09-26 16:08:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	  lame: Don't get the parent class again, GST_BOILERPLATE does this already

2011-09-26 16:07:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	  lame: Fix variable 'gstelement_class' set but not used compiler warning

2011-09-26 12:07:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/twolame/gsttwolame.c:
	  twolame: improve output framing and timestamping
	  ... which simply comes down to requesting one frame of input data at a time,
	  since the encoder nicely turns this into 1 encoded frame.

2011-09-26 11:56:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/twolame/Makefile.am:
	* ext/twolame/gsttwolame.c:
	* ext/twolame/gsttwolame.h:
	  twolame: port to audioencoder

2011-09-23 15:32:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/lame/gstlame.c:
	  lame: use some more boilerplate

2011-09-23 15:26:48 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlame.h:
	  lame: port to audioencoder

2011-09-23 14:33:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: use some more boilerplate

2011-09-26 14:44:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: really report bitrate rather kbitrate

2011-09-26 14:44:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/lame/Makefile.am:
	* ext/lame/gstlamemp3enc.c:
	* ext/lame/gstlamemp3enc.h:
	  lamemp3enc: port to audioencoder

2011-09-16 15:35:06 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: take into account first sector of the current title
	  This fixes seeking on titles which do not start on a new file.
	  https://bugzilla.gnome.org/show_bug.cgi?id=659252

2011-09-16 15:03:54 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: fix sector seeking
	  It was overly complicated, and did not take into account the offset
	  needed for titles which do not start on a new file.
	  https://bugzilla.gnome.org/show_bug.cgi?id=659252

2011-09-16 13:42:53 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: fix sector search for packed titles
	  Some DVD titles are packed in a single set, and we need to use
	  the correct table to map times to sectors.
	  https://bugzilla.gnome.org/show_bug.cgi?id=659252

2011-08-15 16:23:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/mad/Makefile.am:
	* ext/mad/gstmad.c:
	* gst-plugins-ugly.spec.in:
	  mad: remove id3tag dependency used by in practice unreachable legacy code
	  The mad mp3 decoder element shouldn't parse tags at all really, but we
	  have so far kept this code around for backwards-compatibility reasons
	  for people building manual pipelines for some reason. However, as it
	  turns out that code has never actually worked in 0.10 in practice,
	  since it only gets executed if mad_frame_decode() returns LOSTSYNC,
	  which doesn't actually seem to happen any more though because of the
	  preceding mad_header_decode(), which will discover and report the
	  sync loss if it runs into a tag and make mad_frame_decode() try to
	  resync right away.
	  Discovered this while trying to make it use gst_tag_list_from_id3v2_tag().

2011-09-08 17:01:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	  asfpacket: skip empty payload packets
	  ... which also avoids assertion failures and possible segfaults later on
	  when possibly trying to join 2 empty buffers.

2011-09-08 14:33:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmdemux.h:
	  rmdemux: delay announcing container tags until we have pads
	  Fixes tags when transcoding.
	  https://bugzilla.gnome.org/show_bug.cgi?id=658297

2011-09-07 14:36:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/amrnbenc.c:
	  amrnbenc: Use complete raw audio caps in the test

2011-09-07 14:25:41 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/plugins/Makefile.am:
	  docs: cleanup makefiles
	  Remove commented out parts that we don't need. Remove "the wingo addition" - no
	  so useful after all. Narrow down file-globs for plugin docs.

2011-09-06 21:25:13 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From a39eb83 to 11f0cd5

2011-09-06 15:40:55 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 605cd9a to a39eb83

2011-08-25 13:04:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asf: don't use fourcc

2011-08-25 12:54:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-08-22 17:49:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: fix spurious failure to decode some files
	  Parsing can return with an 'invalid' state, but this is not
	  actually fatal. For one, the mpeg2dec command line tool that
	  comes with the libmpeg2 library blithely ignores this condition
	  and merrily goes on. So we do this same, logging the error,
	  and going on with parsing. This makes something work that did
	  not use to work, and brings happiness to the world.
	  https://bugzilla.gnome.org/show_bug.cgi?id=429476

2011-08-19 18:07:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstmad.c:
	* ext/sidplay/Makefile.am:
	* ext/sidplay/gstsiddec.cc:
	  port to new audio caps

2011-08-03 18:58:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  common
	  gst/asfdemux/gstrtpasfdepay.c

2011-08-03 09:05:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Add synaesthesia to the list of non-ported plugins

2011-08-03 01:08:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* gst-plugins-ugly.spec.in:
	* gst/mpegaudioparse/Makefile.am:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstmpegaudioparse.h:
	* gst/mpegaudioparse/mpegaudioparse.vcproj:
	* gst/xingmux/Makefile.am:
	* gst/xingmux/gstxingmux.c:
	* gst/xingmux/gstxingmux.h:
	* gst/xingmux/plugin.c:
	  Remove mp3parse plugin/element
	  It's been replaced by mpegaudioparse in -good. Don't want anyone
	  to spend time porting a deprecated element. Rename plugin to xingmux
	  for now until we move that somewhere else.

2011-08-02 12:49:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* configure.ac:
	  configure.ac: Define list of non-ported plugins

2011-08-02 12:48:52 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: Fix for changes in GstQuery API

2011-08-02 12:40:22 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Fix for changes in GstQuery API

2011-08-02 12:40:01 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: Fix print statement

2011-08-02 12:35:40 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* common:
	  Update common submodule

2011-07-30 18:47:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Properly set the stream format in setcaps
	  Do not forget to set the selected format to the options string
	  when getting it from caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=655223

2011-07-19 15:06:49 +0200  Stefan Sauer <ensonic@google.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix the build for older x264enc
	  b_fake_interlaced was introduced in x264 commit 1b48874d06 = X264_BUILD 96.

2011-07-18 20:41:20 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Read stream-format from the right place
	  Read the stream-format from "stream-format" and not from profile, also rename
	  the "bytestream" variable to "stream_format" so it's easier to understand.

2011-06-13 23:24:27 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Select stream-format based on caps
	  Makes x264 select its stream-format based on what's available
	  on caps, the user selected option will be chosen as a fallback
	  when both options are available.
	  https://bugzilla.gnome.org/show_bug.cgi?id=644233

2011-07-04 18:03:49 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/x264/gstx264enc.c:
	  x264: Allow renegotiation but prefer current caps

2011-06-09 20:20:27 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/x264enc.c:
	  tests: Test x264enc profiles from the caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=644233

2011-03-07 17:58:34 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/x264/Makefile.am:
	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264: Use profile and level from caps
	  Enforces the profile and level from the downstream caps, also
	  sets them on the fixated caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=644233

2011-07-05 10:14:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings

2011-06-25 06:29:50 +0300  Brian Gitonga Marete <marete@toshnix.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix subme property annotation - subme maximum is 10, not 6.
	  Although the element accepts subme values > 6, the annotation which is
	  visible through gst-inspect (for example) erroneously indicates 6 as the
	  maximum. Fix this by indicating 10 (which is the x264 max) as the maximum.
	  https://bugzilla.gnome.org/show_bug.cgi?id=653473

2011-06-23 11:28:58 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 69b981f to 605cd9a

2011-06-19 12:45:00 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstrtspwms.c:
	  rtspwms: Porting to 0.11

2011-06-18 20:24:42 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  rtpasfdepay: Port to 0.11

2011-06-15 23:40:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/asfpacket.h:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Porting to 0.11

2011-06-08 18:18:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	  siddec: port siddec to 0.11

2011-06-06 12:41:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  rtpasfdepay: fix fragmented packet handling and packet padding
	  Also remove a bogus assert.

2011-06-03 11:35:55 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/synaesthesia/gstsynaesthesia.c:
	  synaesthesia: fix wrong debug log string (copy'n'paste)

2011-06-02 18:46:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac

2011-06-02 18:43:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: port to new API
	  Port to new segment API.
	  Eat Caps events.
	  No need to set caps on buffers.

2011-05-20 13:32:31 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/realmedia/rmdemux.c:
	  rmdemux: target is unsigned and can't be < 0

2011-05-20 13:31:14 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/mad/gstmad.c:
	  mad: use signed when caluculating the delta
	  Avoids a <0 check for an unsigned variable.

2011-05-19 23:55:41 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/Makefile.am:
	  docs: remove obsolete commented out part
	  We don't have this in the other modules and its not needed.

2011-05-19 23:38:23 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	  docs: update plugin introspection data
	  Now more files are merged and produced in a canonical fashion, which hopefully
	  creates less or no delta in the future.

2011-05-19 22:58:28 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 9e5bbd5 to 69b981f

2011-05-18 14:49:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/Makefile.am:
	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: Post CODEC and BITRATE tags
	  Also filter any CODEC/AUDIO_CODEC tags from incoming
	  tag events.
	  Fixes bug #391543.

2011-05-18 16:10:55 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From fd35073 to 9e5bbd5

2011-05-18 12:25:01 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 46dfcea to fd35073

2011-04-27 15:20:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  rtpasfdepay: simplify and refactor packet parsing
	  Specifically, refactor buffer padding and consider marker bit for fragment
	  assembling.

2011-04-27 15:14:00 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  rtpasfdepay: avoid re-sending header
	  ... e.g. following a seek, which otherwise confuses downstream demuxer
	  expecting only a flow of data packets at this time.

2011-04-27 15:12:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	* gst/asfdemux/gstrtpasfdepay.h:
	  rtpasfdepay: remove unused field

2011-04-29 09:19:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: Post bitrate tag whenever the bitrate changes
	  Also send the layer/mode/emphasis/bitrate tags as an event too.

2011-05-14 10:09:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  win32: define GST_PACKAGE_RELEASE_DATETIME in win32 config.h as well

2011-05-14 10:06:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  Back to development

=== release 0.10.18 ===

2011-05-10 10:26:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.10.18
	  Highlights:
	  - x264enc: allow changing bitrate and quantizers dynamically at runtime
	  - x264enc: proxy downstream caps restrictions upstream via get_caps()
	  - lamemp3enc: proxy downstream rate/channels restrictions upstream via get_caps()
	  - mad: allow build without libid3tag (which isn't really needed anyway)
	  - many other fixes and improvements

2011-05-04 12:39:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Copy the template caps, it's not allowed to increase the refcount of const caps

2011-05-04 12:30:39 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: do not leak peer pad reference

2011-05-03 15:27:43 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: No need to copy, reffing is enough

2011-05-03 14:57:16 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: get_caps function should return a copy of the caps

2011-04-30 20:07:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-synaesthesia.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* po/da.po:
	* po/de.po:
	* po/fr.po:
	* po/uk.po:
	* win32/common/config.h:
	  0.10.17.4 pre-release

2011-04-29 15:43:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: remove buffer_alloc

2011-04-27 12:48:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-synaesthesia.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* po/bg.po:
	* po/ja.po:
	* po/nl.po:
	* po/pl.po:
	* po/ru.po:
	* po/sl.po:
	* po/tr.po:
	  0.10.17.3 pre-release

2011-04-24 14:04:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From c3cafe1 to 46dfcea

2011-04-19 19:24:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: port to 0.11

2011-04-19 19:23:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  android/amrnb.mk
	  android/amrwbdec.mk
	  android/asf.mk
	  android/mpegaudioparse.mk
	  configure.ac

2011-04-19 17:26:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/gst-plugins-ugly.supp:
	  tests: add suppression for lame unit test

2011-04-19 14:41:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/generic/.gitignore:
	* tests/check/generic/index.c:
	  tests: add generic index-setting test

2011-04-19 15:24:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: don't deadlock when setting an index

2011-04-16 23:26:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-synaesthesia.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* po/sl.po:
	* win32/common/config.h:
	  0.10.17.2 pre-release

2011-04-16 23:23:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rademux.c:
	  rademux: fix two 'variable may be used uninitialized' warnings caused by -DG_DISABLE_ASSERT

2011-04-14 15:04:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/mpegstream/gstmpegdemux.c:
	  mpegstream: fix unused-but-set-variable warnings with gcc 4.6

2011-04-14 15:03:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	* ext/sidplay/gstsiddec.cc:
	* ext/x264/gstx264enc.c:
	  dvdread, sidplay, x264enc: fix unused-but-set-variable warnings with gcc 4.6

2011-04-14 15:03:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix unused-but-set-variable warnings with gcc 4.6

2011-04-13 20:31:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Implement getcaps function
	  This allows to set width/height/etc restrictions downstream.

2011-04-10 18:24:22 -0400  Thibault Saunier <thibault.saunier@collabora.co.uk>

	* Android.mk:
	* ext/mad/Makefile.am:
	* ext/x264/Makefile.am:
	* gst/asfdemux/Makefile.am:
	* gst/dvdlpcmdec/Makefile.am:
	* gst/dvdsub/Makefile.am:
	* gst/iec958/Makefile.am:
	* gst/mpegaudioparse/Makefile.am:
	* gst/mpegstream/Makefile.am:
	* gst/realmedia/Makefile.am:
	* gst/synaesthesia/Makefile.am:
	  android: make it ready for androgenizer
	  To build gstreamer for android we are now using androgenizer which
	  generates the needed Android.mk files.
	  Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git

2011-04-10 18:34:11 -0400  Thibault Saunier <thibault.saunier@collabora.co.uk>

	* android/NOTICE:
	* android/amrnb.mk:
	* android/amrwbdec.mk:
	* android/asf.mk:
	* android/mpegaudioparse.mk:
	  android: remove the android/ folder

2011-04-04 15:57:58 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 1ccbe09 to c3cafe1

2010-09-21 20:14:04 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Allow changing the bitrate and quantitizers dynamically
	  https://bugzilla.gnome.org/show_bug.cgi?id=621663

2010-09-21 19:33:10 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Set max bitrate in quality mode
	  https://bugzilla.gnome.org/show_bug.cgi?id=621663

2010-09-21 19:20:29 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Make it clear that constant quantizer is for debugging only
	  https://bugzilla.gnome.org/show_bug.cgi?id=621663

2011-03-25 22:34:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 193b717 to 1ccbe09

2011-03-25 14:57:00 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From b77e2bf to 193b717

2011-03-25 09:33:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From d8814b6 to b77e2bf

2011-03-25 09:09:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 6aaa286 to d8814b6

2011-03-24 18:50:17 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 6aec6b9 to 6aaa286

2011-03-22 12:59:33 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* configure.ac:
	  configure.ac: redundant use of AC_MSG_RESULT()
	  cleaned the redundant use of AC_MSG_RESULT() in configure.ac

2011-03-18 19:34:57 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* autogen.sh:
	  autogen: wingo signed comment

2011-03-15 11:02:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/dvdsub/gstdvdsubdec.c:
	* gst/dvdsub/gstdvdsubdec.h:
	  dvdsubdec: Rearrange buffer allocation and pushing code a bit
	  This makes the code easier to read, doesn't store every buffer
	  in the instance until the next buffer is to be drawn and
	  fixes an unitialized variable compiler warning.

2011-03-15 10:59:23 +0100  Brendan Le Foll <blefoll@fluendo.com>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvdsubdec: Output only a single buffer per subpicture and set the correct duration
	  Fixes bug #619136.

2011-03-14 18:39:35 +0100  Brendan Le Foll <blefoll@fluendo.com>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvdsubdec: Implement clipping if the video size is smaller than the subpicture size
	  Fixes bug #644704.

2011-03-11 17:45:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	  mad: build the mad plugin even if libid3tag is not available
	  ID3 tags are usually handled by id3demux, and should be handled
	  by id3demux. Tag handling in mad based on libid3tag is very basic
	  and mostly unnecessary really, so just build this plugin without
	  ID3 tag support if libid3tag is not available.

2011-03-04 13:48:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-03-02 13:12:11 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/mpegstream/gstdvddemux.c:
	  dvddemux: small code cleanup
	  Don't duplicate the 'if' check. Makes the 2nd condition easier to read also
	  and avoid empty 'if' when logging is disabled.

2011-02-28 19:27:21 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* configure.ac:
	  configure.ac: export plugin description more platform independent
	  Fixes #642504.

2011-02-28 18:33:34 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 1de7f6a to 6aec6b9

2011-02-26 15:02:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac

2011-02-21 13:13:11 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: do not fail fatally when unlinked
	  ... as _NOT_LINKED was neither tested as fatal before nor complained about.

2011-02-21 11:05:31 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  index: remove conditional index support
	  Index support cannot be disabled since commit
	  4bfb1fe70c6f0d5e29c17a8eeffb02f7fd083f11
	  in core, which removed the configure flags to disable index.

2011-02-17 18:06:51 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/mad/gstmad.c:
	* ext/mpeg2dec/gstmpeg2dec.c:
	  formatting: trim trailing whitespace

2011-02-17 18:05:58 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/mad/gstmad.c:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* gst/mpegstream/gstmpegdemux.c:
	  index: use delta frame flags instead of 0 or none

2011-02-14 17:52:09 +0000  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Don't register flags with a value of 0
	  Flags with a value of 0 aren't meaningful and will cause
	  g_value_transform to go into an endless loop when trying to
	  convert the flags to a string

2011-02-14 12:54:10 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From f94d739 to 1de7f6a

2011-02-07 19:58:45 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/amrwbdec/amrwbdec.c:
	  amrwbdec: avoid stalling on invalid frame
	  Skip 1 byte indicating invalid frame type index rather than stalling
	  on it indefinitely until EOS.
	  Fixes #639715.

2011-02-03 18:25:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/pipelines/lame.c:
	  tests: add unit test for lamemp3enc negotiation issue
	  https://bugzilla.gnome.org/show_bug.cgi?id=641151

2011-02-03 18:18:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: implement sinkpad get_caps() function to proxy rate and channels restrictions from downstream
	  The element downstream of mp3enc might only accept certain sample rates or channels,
	  make sure we relay any restrictions that do exist to upstream when it does a
	  get_caps() on the sink pad. That way upstream elements like audioresample or
	  audioconvert can pick a sample rate / channel configuration that will be accepted,
	  instead of just negotiating to the highest, which might then be rejected.
	  https://bugzilla.gnome.org/show_bug.cgi?id=641151

2011-01-30 16:17:19 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/asfpacket.c:
	  asfpacket: Avoid using broken duration extension
	  Quite a few (broken?) files have a packet duration of 1ms, which is
	  most definitely wrong for either audio or video packets.
	  We therefore avoid using that value and instead use other metrics to
	  determine the buffer duration (like using the extended stream properties
	  average frame duration if present and valid).

2011-01-27 15:33:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  win32: fix DEFAULT_AUDIOSINK, should be direct*sound*sink
	  https://bugzilla.gnome.org/show_bug.cgi?id=640705

2011-01-12 16:48:57 +0800  Yang Xichuan <xichuan.yang@tieto.com>

	* gst/mpegaudioparse/gstxingmux.c:
	  xingmux: Use FALSE instead of 0 as return value for a function returning gboolean
	  Fixes bug #639291.

2011-01-06 18:29:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/mpegstream/gstdvddemux.c:
	  mpegstream: increase allowable gap between streams
	  The new delay is three times as much as the old one, and just happens
	  to let me properly decode my "Princess Mononoke" DVD, on which dvdreadsrc
	  was chocking before at 5:11.
	  While there, merge the constants used in two places into a define.
	  https://bugzilla.gnome.org/show_bug.cgi?id=539708

2011-01-22 17:31:40 +0100  Miguel Angel Cabrera Moya <madmac2501@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: make tag event writable before modifying tag list in place
	  To modify an event tag is necessary to be sure that x264enc
	  has its own copy.
	  Also fix indentation.
	  https://bugzilla.gnome.org/show_bug.cgi?id=640272

2011-01-24 10:14:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  Back to development

=== release 0.10.17 ===

2011-01-21 13:18:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.10.17

2011-01-18 11:11:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  0.10.16.4 pre-release

2011-01-14 17:37:09 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Use the proper component value for height

2011-01-11 20:42:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  0.10.16.3 pre-release

2011-01-11 17:09:02 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/asfdemux/asfheaders.c:
	* gst/asfdemux/asfheaders.h:
	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Handle new type of DRM'd asf files.
	  These are produced by the new MS PlayReady system.
	  https://bugzilla.gnome.org/show_bug.cgi?id=639226

2011-01-11 15:51:14 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From e572c87 to f94d739

2011-01-10 16:37:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From ccbaa85 to e572c87

2011-01-10 14:54:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 46445ad to ccbaa85

2011-01-08 00:35:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: never disable g_assert() and cast checks for the unit tests
	  The unit tests are riddled with g_assert() and friends, make sure we
	  don't disable assert and cast checks for the unit tests even if
	  this has been specified for the rest of the code base, e.g. via
	  --disable-glib-asserts

2011-01-07 14:42:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  0.10.16.2 pre-release

2011-01-07 14:38:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-ugly-plugins.args:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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: update docs

2011-01-07 14:37:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/bg.po:
	* po/ca.po:
	* po/ru.po:
	  po: update translations

2011-01-07 14:33:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: use $LIBM instead of hardcoding -lm

2011-01-06 13:15:17 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Initialize return variable.
	  In the unlikely event that height is 0 (which is invalid) we would end up
	  never setting the flow return.

2011-01-05 16:52:03 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/realmedia/rmutils.c:
	  realmedia: Fix unitialized variables on macosx

2011-01-04 10:32:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Handle codec/encoder tags
	  Make x264enc drop video-codec and codec tags and replace
	  encoder/encoder-version with x264 and its build number
	  Fixes #621465

2010-12-29 22:17:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: use gst_pad_alloc_buffer() when cropping buffers

2010-12-29 22:10:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: minor formatting clean-up

2010-12-29 21:42:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: refactor cropping code to use libgstvideo functions
	  https://bugzilla.gnome.org/show_bug.cgi?id=571146

2010-12-29 20:19:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: use GstVideoFormat instead of custom enum

2010-12-29 20:15:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mpeg2dec/Makefile.am:
	  mpeg2dec: fix LIBADD order in Makefile.am

2010-11-19 13:01:35 -0500  Tristan Matthews <tristan@sat.qc.ca>

	* ext/x264/gstx264enc.c:
	  x264: vbv-buf-capacity should have a minimum of 0
	  x264 will clip this value internally, and users should be allowed to
	  specify a lower value than 300 ms.
	  https://bugzilla.gnome.org/show_bug.cgi?id=635291

2010-12-27 11:38:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: also accept YV12 input

2010-12-01 18:35:59 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: add a note to the docs about encoder latency and queues
	  https://bugzilla.gnome.org/show_bug.cgi?id=636107

2010-12-24 10:12:19 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  realmedia: do not use the pad buffer allocation functions in demuxers
	  Doing so can block, see https://bugzilla.gnome.org/show_bug.cgi?id=637822
	  https://bugzilla.gnome.org/show_bug.cgi?id=637932

2010-12-20 17:47:41 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 169462a to 46445ad

2010-12-16 10:30:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mad/gstmad.c:
	  mad: If gst_pad_alloc_buffer() returns a buffer with the wrong size allocate a new one
	  Fixes bug #635461.

2010-12-15 14:56:36 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 20742ae to 169462a

2010-12-12 11:54:35 -0600  Rob Clark <rob@ti.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: set GST_BUFFER_FLAG_DELTA_UNIT properly
	  Signed-off-by: Rob Clark <rob@ti.com>

2010-12-13 16:24:09 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 011bcc8 to 20742ae

2010-11-14 10:57:21 -0800  Leo Singer <leo.singer@ligo.org>

	* configure.ac:
	  x264: uses pkg-config to locate libx264

2010-12-07 15:40:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2010-12-07 15:39:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/pipelines/lame.c:
	  check: don't use deprecated method

2010-12-06 18:12:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* android/amrnb.mk:
	* android/amrwbdec.mk:
	* android/asf.mk:
	* android/mpegaudioparse.mk:
	* configure.ac:
	  more 0.10 -> 0,11 changes

2010-12-06 12:29:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  configure: open 0.11 branch

2010-12-03 17:43:25 +0100  Benjamin Gaignard <benjamin.gaignard@stericsson.com>

	* Android.mk:
	* android/NOTICE:
	* android/amrnb.mk:
	* android/amrwbdec.mk:
	* android/asf.mk:
	* android/mpegaudioparse.mk:
	  Add build system for Android

2010-11-25 19:51:50 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/realmedia/rmutils.c:
	  realmedia: Remove dead assignments

2010-11-25 19:51:40 +0100  Edward Hervey <bilboed@bilboed.com>

	* ext/mad/gstmad.c:
	  mad: Remove dead assignments

2010-11-13 12:38:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: remove bogus comment

2010-11-13 12:34:37 +0000  Thomas Green <thomasgr33n@gmail.com>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: fix handling of multi-angle streams
	  We would output all angles interleaved instead of just
	  the selected angle.
	  https://bugzilla.gnome.org/show_bug.cgi?id=539254

2010-10-28 17:01:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/Makefile.am:
	  realmedia: fix LIBS order in Makefile

2010-10-22 09:17:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.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:
	  po: update for new translatable strings

2010-10-27 13:17:29 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 7bbd708 to 011bcc8

2010-10-20 20:26:45 +0200  Guillaume Emont <gemont@igalia.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: convert the position to stream time before answering to a position query

2010-10-24 14:22:39 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/realmedia/Makefile.am:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmdemux.h:
	  realmedia: Get codec name from pbutils instead of harcoding them

2010-10-22 11:29:55 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Work around a rate control issue in libx264
	  When variable framerate is disabled in libx264 (which occurs when using
	  the zerolatency tuning), libx264 ignores timestamps but still uses the
	  timebase leading to messed up rate control with our nanosecond timebase.
	  We work around this issue by setting the timebase to the reciprocal of
	  the framerate and we validate that the framerate is suitable.
	  This has been fixed upstream in libx264 but there are non-fixed versions
	  in the wild so this workaround is still needed.
	  Fixes bug #632861

2010-10-19 16:30:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Use gst_pad_peer_query() instead of getting the peer pad manually

2010-10-13 21:38:06 +0200  Guillaume Emont <gemont@igalia.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: fix position query by trusting upstream
	  Position queries are badly handled for DVDs (probably due to the division in
	  chapters): the time returned was the time since the start of chapter.
	  Now ask upstream for position queries, fall back to the old code if upstream
	  cannot answer the query.

2010-10-19 12:20:40 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/lame/gstlame.c:
	* ext/mad/gstmad.c:
	* ext/sidplay/gstsiddec.cc:
	* gst/mpegstream/gstmpegparse.c:
	  various: canonicalize property names

2010-10-19 10:06:33 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/a52dec/gsta52dec.c:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	* ext/cdio/gstcdiocddasrc.c:
	* ext/dvdread/dvdreadsrc.c:
	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/mad/gstmad.c:
	* ext/sidplay/gstsiddec.cc:
	* ext/x264/gstx264enc.c:
	  various (ext): add a missing G_PARAM_STATIC_STRINGS flags

2010-10-19 09:49:47 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/iec958/ac3iec.c:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegstream/gstmpegparse.c:
	* gst/mpegstream/gstrfc2250enc.c:
	* gst/realmedia/pnmsrc.c:
	* gst/realmedia/rdtmanager.c:
	  various (gst): add a missing G_PARAM_STATIC_STRINGS flags

2010-10-14 12:32:16 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 5a668bf to 7bbd708

2010-10-08 12:44:52 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From c4a8adc to 5a668bf

2010-10-08 12:56:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 5e3c9bf to c4a8adc

2010-09-29 21:24:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	  mad: support reverse playback

2010-09-26 19:24:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/dvdread/dvdreadsrc.c:
	  dvdreadsrc: improve error messages on read errors
	  Provide proper i18n-ed error messages when a read error happens,
	  and point out that the error could be happening because the
	  DVD is scrambled.
	  https://bugzilla.gnome.org/show_bug.cgi?id=613633

2010-09-24 00:03:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: set plugin release datetime

2010-09-21 18:34:31 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From aa0d1d0 to 5e3c9bf

2010-09-15 20:14:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/mpegstream/gstmpegparse.c:
	  mpegparse: re-fix flow return handling
	  Fix wrong GST_FLOW_IS_SUCCESS substitution in commit e99cb46c:
	  -  } while (GST_FLOW_IS_SUCCESS (result));
	  +  } while (result != GST_FLOW_OK);

2010-09-09 22:33:36 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/check/Makefile.am:
	* tests/check/generic/states.c:
	  tests: allow running state tests for all elements
	  Now one can use GST_NO_STATE_IGNORE_ELEMENTS=1 make generic/states.check
	  to try elements that would normaly be skipped.

2010-09-09 09:53:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Makefile.am:
	  New pkgconfig subdirectory needs to be added to SUBDIRS as well so it's entered and disted

2010-09-08 00:09:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* pkgconfig/.gitignore:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-plugins-ugly-uninstalled.pc.in:
	  Add gstreamer-plugins-ugly-uninstalled-0.10.pc file so other modules can find our plugins
	  This .pc file will not be installed, it's only for uninstalled setups,
	  same thing as we do for -good. This is so other modules' unit tests can
	  find our plugins properly in an uninstalled setup.

2010-09-07 11:42:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From c2e10bf to aa0d1d0

2010-09-06 23:53:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: re-enable use of -DGST_DISABLE_DEPRECATED in git versions

2010-09-06 23:51:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/sidplay/gstsiddec.cc:
	  siddec: don't use GST_FLOW_IS_FATAL
	  GST_FLOW_IS_FATAL has been deprecated in core git.

2010-09-05 18:58:50 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From d3d9acf to c2e10bf

2010-09-05 12:27:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Require orc >= 0.4.6 for --compat

2010-09-05 12:20:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From ec60217 to d3d9acf

2010-08-27 18:26:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Don't use GST_FLOW_IS_FATAL()
	  And don't post error messages if allocating a buffer resulted
	  in WRONG_STATE or UNEXPECTED.

2010-08-27 18:25:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/mpegaudioparse/gstxingmux.c:
	  xingmux: Don't ignore WRONG_STATE and NOT_LINKED when pushing data downstream

2010-08-27 18:24:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/mpegstream/gstdvddemux.c:
	* gst/mpegstream/gstmpegdemux.c:
	* gst/mpegstream/gstmpegparse.c:
	  mpegstream: Don't use GST_FLOW_IS_SUCCESS()

2010-08-27 18:22:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()

2010-08-27 18:19:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Don't use GST_FLOW_IS_FATAL()
	  And don't post error messages for UNEXPECTED and post an error
	  message if pulling data failed because of NOT_LINKED.

2010-09-04 13:17:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  Back to development
	  Temporarily disable -DGST_DISABLE_DEPRECATED for git builds until
	  the code is updated for the GST_FLOW_IS_* macro deprecations.

=== release 0.10.16 ===

2010-09-02 23:59:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.10.16

2010-09-02 23:58:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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: update docs for release

2010-09-02 23:48:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/LINGUAS:
	* po/gl.po:
	* po/id.po:
	* po/lv.po:
	* po/ro.po:
	* po/sv.po:
	  po: update translations

2010-08-30 16:02:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* 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/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.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/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:
	  0.10.15.6 pre-release

2010-08-27 17:50:59 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Don't error out on non-critical flow returns
	  Only error out when downstream returns:
	  * NOT_SUPPORTED
	  * ERROR
	  * NOT_NEGOTIATED
	  * NOT_LINKED
	  If we got _UNEXPECTED, we push an EOS downstream (since maybe only one
	  of the streams had gone EOS) and then stop the task silently.
	  In the case of WRONG_STATE we just need to stop silently
	  https://bugzilla.gnome.org/show_bug.cgi?id=600412

2010-08-25 19:02:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* 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/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.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/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:
	  0.10.15.5 pre-release

2010-08-25 15:39:33 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: propagate flow errors upstream.
	  Remove a wrong GST_FLOW_IS_FATAL call. When pushing fails, mp3parse should
	  always return the error upstream.

2010-08-21 21:42:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* 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/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.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/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:
	  0.10.15.4 pre-release

2010-08-13 17:24:41 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 3e8db1d to ec60217

2010-08-11 16:46:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  0.10.15.3 pre-release

2010-08-11 09:21:43 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Fix b-pyramid libx264 API boolean arg for non-boolean issue
	  In X264_BUILD >= 78, b-pyramid became a non-boolean so passing a boolean
	  argument to the option string value causes an error. For < 78 we pass the
	  boolean value, for >= 78 we use the x264_b_pyramid_names[] array which will
	  result in passing 'none' for false and 'strict' for true. Other modes can be
	  set through the option-string property for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=626577

2010-08-11 00:02:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  0.10.15.2 pre-release

2010-08-10 14:37:39 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/synaesthesia/gstsynaesthesia.c:
	  synaesthesia: code cleanups.
	  Remove unused boilerplate for signals. Use _OBJECT variants of logging macros
	  more.

2010-08-10 14:24:01 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/synaesthesia/gstsynaesthesia.c:
	  synaesthesia: use GST_BOILERPLATE macros

2010-08-10 10:59:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From bd2054b to 3e8db1d

2010-08-09 00:31:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264: fix printf format warning in debug message

2010-08-07 00:09:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/Makefile.am:
	  docs: fix bug passing arguments to gtkdoc-fixref in upload target
	  Missing backslash at end of line meant we weren't passing all arguments
	  to gtkdoc-fixref and we'd get a shell error when doing 'make upload'.

2010-08-05 13:57:26 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From a519571 to bd2054b

2010-08-04 19:28:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Check if the compiler supports ISO C89 or C99 and which parameters are required
	  This first checks what is required for ISO C99 support and sets the relevant
	  compiler parameters and if no C99 compiler is found, it checks for a
	  C89 compiler. This enables us to check for and use C89/C99 functions
	  that gcc hides from us without the correct compiler parameters.

2010-07-29 09:41:49 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Fix flushing of delayed frames
	  x264_encoder_encode() should be called with a NULL picture until at least
	  x264_encoder_delayed_frames() returns 0. This fixes what appeared to be a
	  regression in make check due to the recent change in defaults which enabled
	  b-frames and b-pyramid, both of which I believe increase the number of delayed
	  frames when encoding.

2010-07-21 17:24:33 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Improve x264enc defaults
	  - medium x264 speed/quality preset
	  - threads defaults to 0 which automatically uses 1.5x number of cpu cores
	  Addresses part of bug #607798

2010-07-21 17:22:48 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Fix property description typos

2010-07-22 11:53:04 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Add some more debug info

2010-07-21 17:09:20 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Add speed-preset and [psy-]tuning properties
	  Use of a rate control method (pass, bitrate, quantizer, etc properties), a
	  preset and possibly a profile and/or tuning are now the recommended way to
	  configure x264 through x264enc.
	  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.
	  Addresses part of bug #607798

2010-07-21 16:56:06 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Refactor code in preparation for presets/tunings
	  - Make defaults append the appropriate default value to a string. This is
	  needed to differentiate between something user-set and the actual prop
	  default.
	  - Add an internal option string to which _set_property () cases append for the
	  majority of properties.
	  - Use gst_x264_enc_parse_options () to clean up application of settings. This
	  will make order of application with respect to the presets and tunings quite
	  simple.
	  Addresses part of bug #607798

2010-07-21 16:32:11 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Update available me types
	  Use the x264_motion_est_names[] array to populate the enum of ME types. This is
	  now self-maintaining.

2010-07-21 15:59:12 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Use new libx264 API to affect fast first pass
	  Uses new x264 API to apply reduced complexity values to the parameters to
	  increase encoding speed in the first pass of a multi-pass encode. This does
	  not impact on final quality.
	  Addresses part of bug #607798

2010-07-21 15:52:28 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Add profile property
	  In X264_BUILD >= 86 there is a new API for applying restrictions to an H.264
	  Profile. This makes it easier to achieve Baseline Profile for example.
	  Addresses part of bug #607798

2010-07-21 15:40:27 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Add option-string property
	  Adds support for an x264 format option-string to specify advanced parameters
	  Addresses part of bug #607798

2010-07-22 13:24:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/mad/Makefile.am:
	  mad: use right automake variable, should be ID3TAG_{LIBS,CFLAGS} not ID3_{LIBS,CFLAGS}
	  Spotted by syntr0py.

2010-07-20 19:44:00 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: only set timebase on versions where it exists

2010-07-20 16:40:22 +0200  David Hoyt <dhoyt@llnl.gov>

	* ext/x264/gstx264enc.c:
	  x264enc: set appropriate time base
	  Fixes #624786.

2010-06-30 18:45:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: add plugin loading whitelist to test environment
	  Only want to load core/-base/-ugly plugins here.

2010-06-28 16:12:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* autogen.sh:
	* configure.ac:
	  Bump automake requirement to 1.10 and autoconf to 2.60
	  For maintainability reasons and $(builddir).
	  See #622944.

2010-06-28 09:34:30 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Fix seeking after last commits
	  Don't handle wrong-state returns as errors to allow seeking to work
	  again.

2010-06-24 19:46:39 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Push all pending data on EOS
	  When on push mode and receiving an EOS event, asfdemux
	  should push all pending data because we might be dealing
	  with a broken file that has a preroll value higher
	  than its actual length.

2010-06-24 19:29:17 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Fix sending eos event for chained asfs
	  Properly push EOS event when finishing a chained asf file
	  in pull mode
	  Fixes #599718

2010-06-24 20:55:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	  docs: add rmdemux to docs properly
	  The plugin has been renamed, remove old introspection file.

2010-06-24 18:04:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/inspect/plugin-x264.xml:
	  docs: update for recent x264enc changes

2010-06-24 18:03:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: fix compiler warning when debugging system in core is disabled

2010-06-24 15:09:44 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 73ff93a to a519571

2010-06-23 11:05:11 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Allow at least 500ms of preroll.
	  Some files have insanely low preroll values which break the
	  all_streams_prerolled() logic.
	  Fixes #622407

2010-06-22 11:41:42 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: add new h264 caps attribute alignment
	  See #606662.

2010-06-18 14:35:00 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: conditionally expose enhanced upstream capabilities
	  API: GstX264Enc:sliced-threads
	  API: GstX264Enc:sync-lookahead
	  API: GstX264Enc:intra-refresh
	  API: GstX264Enc:mb-tree
	  API: GstX264Enc:rc-lookahead
	  See #607798.

2010-06-17 16:48:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* 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-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	  docs: update introspected plugin docs for gstdoc-scangobj and other changes
	  Update common for latest gstdoc-scangobj and inspect xml files for
	  escaping and pad template order changes.

2010-06-15 16:50:21 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From 9339ccc to 35617c2

2010-06-15 16:54:42 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 5adb1ca to 9339ccc

2010-06-15 16:35:49 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 57c89b7 to 5adb1ca

2010-06-15 15:50:09 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From c804988 to 57c89b7

2010-06-14 16:59:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* gst/realmedia/rtspreal.c:
	  configure: Update required GLib version to 2.20

2010-06-14 15:33:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Call orc_init() before trying to get target flags

2010-06-14 14:34:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Remove debug printf...

2010-06-14 14:34:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* ext/a52dec/Makefile.am:
	* ext/a52dec/gsta52dec.c:
	  a52dec: Use orc for CPU feature detection and don't check for liboil

2010-06-14 13:27:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Use GLIB_EXTRA_CFLAGS

2010-06-14 13:05:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 7a0fdf5 to c804988

2010-06-14 11:35:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 6da3bab to 7a0fdf5

2010-06-12 08:29:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 733fca9 to 6da3bab

2010-06-09 12:40:26 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From fad145b to 733fca9

2010-06-09 12:34:18 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 47683c1 to fad145b

2010-06-05 14:11:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: pass bitrate on caps
	  Set the bitrate on the caps, some decoders like sipro need this to function
	  properly.
	  Fixes #620007

2010-06-01 23:49:37 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 17f89e5 to 47683c1

2010-06-01 22:55:22 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From fd7ca04 to 17f89e5

2010-05-31 16:57:42 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Only set i_weighted_pred on versions where it exists

2010-05-20 11:28:47 -0400  Tristan Matthews <tristan@sat.qc.ca>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: implement latency query
	  The encoder's latency is deduced from the framesize. Fixes #618896.

2010-06-01 09:30:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.signals:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  Back to development

=== release 0.10.15 ===

2010-05-30 14:21:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.prerequisites:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.10.15

2010-05-30 14:20:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.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/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

2010-05-30 12:10:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: make implicit GLib and liboil requirements explicit
	  core/base 0.10.26 require GLib >= 2.18 and liboil >= 0.3.14

2010-05-26 23:16:46 -0400  Olivier Crête <tester@tester.ca>

	* ext/x264/gstx264enc.c:
	  x264enc: disable I weighted pred
	  If it is enabled, then it will be main profile instead of baseline.
	  This ensures maximum compatibility of the output stream until the
	  encoder configuration interface gets an overhaul with explicit
	  output profile selection.
	  Fixes #619776.

2010-05-26 12:16:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  0.10.14.3 pre-release

2010-05-26 11:52:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.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/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: update translations

2010-05-26 11:55:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 357b0db to fd7ca04

2010-05-14 20:06:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  0.10.14.2 pre-release

2010-05-14 18:25:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 4d67bd6 to 357b0db

2010-05-14 16:02:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmutils.c:
	* gst/realmedia/rmutils.h:
	  rmdemux: add better sipr nibble swap routine

2010-05-13 17:57:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: descramble SIPR before pushing out
	  Collect and descramble the SIPR packets before pushing.
	  Descramble ATRAC audio.
	  Fixes #618098

2010-05-13 17:57:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rmutils.c:
	* gst/realmedia/rmutils.h:
	  rm: add function to descramble sipr

2010-01-08 20:51:56 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Re-send the received upstream event as-is downstream
	  https://bugzilla.gnome.org/show_bug.cgi?id=606689

2010-05-07 15:33:28 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/amrnb/amrnb.c:
	  amrnbenc: Set rank to GST_RANK_SECONDARY

2010-04-30 19:53:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rtspreal.c:
	  rtspreal: use GLib's base64 functions if available
	  Since gst_rtsp_base64_decode_ip() just got deprecated in -base git.

2010-04-28 17:10:36 +0400  Руслан Ижбулатов <lrn1986@gmail.com>

	* ext/amrnb/amrnbdec.h:
	* ext/amrnb/amrnbenc.h:
	* ext/amrwbdec/amrwbdec.h:
	  amr: Use correct includes (as pkg-config suggests)
	  Fixes #617078

2010-04-27 13:15:47 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/ac3parse/.gitignore:
	* gst/ac3parse/Makefile.am:
	* gst/ac3parse/README:
	* gst/ac3parse/ac3parse.vcproj:
	* gst/ac3parse/gstac3parse.c:
	* gst/ac3parse/gstac3parse.h:
	  ac3parse: remove unported 0.8 plugin
	  New ac3parse lives in gst-plugin-bad. Remove this to avoid confusion.

2010-04-27 12:25:37 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  docs: adding a mp3decoder as well is useful

2010-04-27 11:39:51 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  docs: massage section index

2010-04-27 11:39:11 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/amrwbdec/amrwbdec.c:
	* ext/amrwbdec/amrwbdec.h:
	  amrwbdec: move define to source to avoid hiding it from the docs

2010-04-27 11:38:28 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/cdio/gstcdiocddasrc.c:
	  docs: remove short_desc, it is taken from element details

2010-04-27 11:37:52 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/synaesthesia/gstsynaesthesia.c:
	  docs: fix sections docs for synaesthesia

2010-04-27 11:02:15 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  docs: add docs for mp3parse

2010-04-20 17:23:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-plugins-ugly.doap:
	  doap: update repository info from cvs->git and maintainers

2010-04-23 14:41:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From fc85867 to 4d67bd6

2010-04-13 16:59:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/x264enc.c:
	  x264enc: adaptive NALU type checking
	  In particular, be less picky about SEI NALU order, which makes test more
	  robust with respect to changes in libx264.
	  See also #615410.

2010-04-16 21:10:58 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: adaptive x264 header NAL layout handling
	  Fixes #615410.

2010-04-15 16:31:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  asfdepay: we require a dynamic payload type
	  Add an extra caps property that restricts the depayloader to only accept dynamic
	  payload types.

2010-04-15 07:20:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* configure.ac:
	  configure: Drop -Wcast-align
	  Commit message copied from core's commit from Benjamin Otte:
	  246f5dba96a5b50bb74621af67b30942cca72af5
	  Apparently gcc warns that GstMiniObject is not castable to
	  GstEvent/Message/Buffer due to them containing 64bit variables, even
	  though ARM hackers claim that those only need 4byte alignment. And as
	  long as gcc behaves that way, this warning is not very useful.
	  So we'll remove the warning until this problem is fixed.
	  Fixes #615698

2010-04-14 09:27:14 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: copy over all buffer flags when copying buffers.
	  Avoids losing the tff/rff video buffer flags

2010-03-14 12:16:21 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: Make a table static to avoid having to always allocate it.

2010-04-13 16:31:25 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: fix up avcC header construction
	  Fix off-by-one introduced by commit 35dd89951d8bb1c094da65480e4197efdfb4e93c
	  for BUILD_X264 < 76.
	  Also fixes #610089.

2010-04-13 13:16:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: parameterize libx264 provided NAL layout in codec-data creation

2010-04-12 12:43:05 +0200  Edward Hervey <bilboed@bilboed.com>

	* configure.ac:
	  configure: Remove -Wundef flag
	  Same fix as for #615161

2010-04-09 11:23:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From fdf023d to fc85867

2010-04-09 09:55:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/gettext.h:
	  i18n: #if ENABLE_NLS -> #ifdef ENABLE_NLS to fix compiler warning

2010-03-30 00:36:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* ext/Makefile.am:
	* gst/Makefile.am:
	  build: build plugins in parallel where possible, if make -jN is used

2010-03-26 17:08:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Makefile.am:
	  build: add cruft alert for common/shave*

2010-03-25 19:40:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/MANIFEST:
	  Fix make distcheck
	  Remove removed file win32/common/config.h.in from MANIFEST.

2010-03-24 19:35:03 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/synaesthesia/synaescope.c:
	* gst/synaesthesia/synaescope.h:
	  synaestesia: Fix old-style prototype

2010-03-24 19:07:11 +0300  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst/realmedia/rmutils.c:
	  Fix pointer type.
	  Fixes #613815

2010-03-24 18:55:32 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From 55cd514 to c1d07dd

2010-03-24 11:27:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	* ext/cdio/gstcdiocddasrc.h:
	* ext/dvdread/dvdreadsrc.c:
	* ext/lame/gstlame.h:
	* ext/lame/gstlamemp3enc.h:
	* ext/lame/plugin.c:
	* ext/mad/gstmad.c:
	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstxingmux.c:
	* gst/mpegstream/gstdvddemux.c:
	* gst/mpegstream/gstmpegdemux.c:
	* gst/mpegstream/gstmpegparse.c:
	* gst/realmedia/asmrules.c:
	* gst/realmedia/pnmsrc.c:
	* gst/realmedia/pnmsrc.h:
	* gst/realmedia/rdtdepay.h:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rtspreal.c:
	  build: Add all kinds of compiler warning flags and fix the resulting warnings

2010-03-19 00:03:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/amrnb/Makefile.am:
	* ext/amrwbdec/Makefile.am:
	* ext/sidplay/Makefile.am:
	* gst/asfdemux/Makefile.am:
	* gst/mpegaudioparse/Makefile.am:
	  build: fix up Makefile.am
	  Mostly just add $(GST_BASE_CFLAGS) where they're missing and fix
	  the order a bit here and there (see docs/random/moving-plugins).

2010-03-19 00:02:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/config.h.in:
	  win32: remove win32-specific config.h.in copy that's not used any longer
	  The win32 config.h is now generated from the top-level config.h.in.

2010-03-18 15:53:14 +0100  Benjamin Otte <otte@redhat.com>

	* ext/a52dec/gsta52dec.c:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	* ext/amrwbdec/amrwbdec.c:
	* ext/cdio/gstcdiocddasrc.c:
	* ext/dvdread/dvdreadsrc.c:
	* ext/lame/gstlame.c:
	* ext/mad/gstmad.c:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* gst/ac3parse/gstac3parse.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstrtpasfdepay.c:
	* gst/asfdemux/gstrtspwms.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/iec958/ac3iec.c:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstxingmux.c:
	* gst/mpegstream/gstdvddemux.c:
	* gst/mpegstream/gstmpegdemux.c:
	* gst/mpegstream/gstmpegparse.c:
	* gst/mpegstream/gstrfc2250enc.c:
	* gst/realmedia/pnmsrc.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtdepay.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rtspreal.c:
	* gst/synaesthesia/gstsynaesthesia.c:
	  gst_element_class_set_details => gst_element_class_set_details_simple

2010-03-16 15:05:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Put pixel-aspect-ratio from input into the src pad caps
	  Fixes bug #612995.

2010-03-12 13:59:53 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From e272f71 to 55cd514

2010-03-11 11:21:19 +0100  Benjamin Otte <otte@redhat.com>

	* common:
	  Automatic update of common submodule
	  From df8a7c8 to e272f71

2010-03-10 22:13:45 +0100  Benjamin Otte <otte@redhat.com>

	* configure.ac:
	  Update CXXFLAGS, too

2010-03-10 21:01:20 +0100  Benjamin Otte <otte@redhat.com>

	* configure.ac:
	  Update for recent changes to common submodule
	  This just replaces every "$ERROR_CFLAGS" usage with a usage of
	  "$WARNING_CFLAGS $ERROR_CFLAGS" to get the same functionality as
	  previously.
	  Actually using that separation will happen later.

2010-03-10 21:52:30 +0100  Benjamin Otte <otte@redhat.com>

	* common:
	  Automatic update of common submodule
	  From 9720a7d to df8a7c8

2010-03-10 20:44:18 +0100  Benjamin Otte <otte@redhat.com>

	* common:
	  Automatic update of common submodule
	  From 0b6e072 to 9720a7d

2010-03-10 16:10:17 +0100  Benjamin Otte <otte@redhat.com>

	* common:
	  Automatic update of common submodule
	  From 7cc5eb4 to 0b6e072

2010-03-10 01:10:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 7aa65b5 to 7cc5eb4

2010-03-09 21:40:26 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 44ecce7 to 7aa65b5

2010-02-26 15:43:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Use automake 1.11 silent rules instead of shave if available
	  This makes sure that we use something that is still maintained and
	  also brings back libtool 1.5 support.

2010-03-09 17:42:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* win32/common/config.h:
	  Back to development

=== release 0.10.14 ===

2010-03-06 01:13:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* docs/plugins/gst-plugins-ugly-plugins.prerequisites:
	* 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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.10.14

2010-03-06 01:10:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.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/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

2010-03-03 22:52:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  0.10.13.4 pre-release

2010-02-22 19:13:11 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* tests/check/elements/x264enc.c:
	  x264enc: Replace 'avc-sample' with 'avc' in caps
	  In the element and in its tests
	  Fixes #606662

2010-03-01 14:07:20 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Don't set durations of 0 on outgoing buffers.
	  Some (broken) streams don't have the extended stream properties in
	  the header, resulting in applying a duration of zero on outgoing
	  buffers.
	  Fixes #611473

2010-03-01 14:05:58 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: Make sure we always set proper payload duration.
	  Some (broken) streams will have a delta of 0, resulting in outgoing
	  buffers having durations of 0.
	  Fixes #611473

2010-02-24 01:40:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  0.10.13.3 pre-release

2010-02-19 10:13:34 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: Make sure we don't end up with negative timestamps.
	  Some files have payload with timestamps smaller than the preroll duration.
	  Instead of blindly substracting the preroll value (and ending up with
	  insanely high timestamps on the outgoing buffers), we make sure we
	  never go below 0.
	  Fixes #610432

2010-02-19 01:07:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  0.10.13.2 pre-release
	  Update core/base requirement to 0.10.26, since that's more likely
	  to be the actual requirement.

2010-02-19 01:06:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/LINGUAS:
	* po/el.po:
	* po/sl.po:
	  po: update translations

2010-02-16 14:08:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/x264enc.c:
	  x264enc: add caps check to x264enc unit test
	  Add some minimal caps checking to x264enc unit test.
	  See #610089.

2010-02-16 13:25:11 +0000  Vittorio Palmisano <vpalmisano@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: fix up avcC header construction and playback by flash players
	  Fix off-by-one bug when constructing the avcC header chunk: we
	  wrote wrong profile info into the header. The first byte in the
	  SPS NAL we get from x264 is the nal type, not the profile_idc.
	  Also add some debug logging.
	  Fixes #610089.

2010-02-16 12:59:54 +0100  Robert Swain <robert.swain@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Improve seek behaviour for audio-only with no index
	  Instead of seeking to seek_time - 5s in the hope of hitting a keyframe
	  for video, we can just seek to seek_time instead.

2010-02-16 00:24:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: fix up GST_CXXFLAGS properly
	  We don't want C specific flags in GST_CXXFLAGS, so base it on the
	  GST_CFLAGS that only contains the pkg-config CFLAGS but none of
	  the GST_OPTION_CFLAGS. Also, we only need the local includes once.

2010-02-11 01:12:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* MAINTAINERS:
	  Update MAINTAINERS, add myself

2010-02-15 23:16:32 +0200  Stefan Kost <ensonic@users.sf.net>

	* configure.ac:
	  configure: base GST_CXXFLAGS on --cflags from pkg-config
	  pkg-config sets GST_CFLAGS and GST_LIBS. We need to use CFLAGS as a starting
	  point for for both C and CXX settings.

2010-02-14 23:18:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 96dc793 to 44ecce7

2010-02-01 01:33:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Makefile.am:
	* configure.ac:
	* win32/common/.gitignore:
	* win32/common/config.h:
	  win32: change how win32/common/config.h is updated
	  Generate win32/common/config.h-new directly from config.h.in,
	  using shell variables in configure and some hard-coded information.
	  Change top-level makefile so that 'make win32-update' copies the
	  generated file to win32/common/config.h, which we keep in source
	  control. It's kept in source control so that the git tree is
	  buildable from VS.
	  This change is similar to the ones applied a while ago to GStreamer
	  core, gst-plugins-base and gst-plugins-good and prevents configure
	  from changing files in source control. The generated config.h
	  should be ok, but needs testing.

2010-01-31 13:03:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rtspreal.c:
	  rtspreal: don't construct config header with uninitialised bytes
	  Turns out 4 + 4 + 2 + (4 * 2) is actually 18 and not 22. This avoids
	  a presumably unintentional padding of uninitialised bytes at the end
	  of the CONT tags chunk, which should be harmless but causes warnings
	  in valgrind (see #608533 for a test URL).

2010-01-30 19:12:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rtspreal.c:
	  rtspreal: add finalize function so we can free streams and rulebook
	  Fix memory leak in Real RTSP component (#608533).

2010-01-30 19:10:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rtspreal.c:
	  rtspreal: fix minor memory leak
	  Caps take their own reference when a buffer is added to them, so
	  unref buffer after adding it to caps (#608533).

2010-01-30 19:06:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rdtdepay.c:
	  rdtdepay: unref input buffer when done
	  Fixes memory leak, see #608533.

2010-01-30 15:19:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 15d47a6 to 96dc793

2010-01-29 19:47:03 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: make use of Access Unit delimiters configurable
	  API: GstX264Enc:aud

2010-01-22 15:40:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: Do not subtract padding twice
	  Only subtract implicit padding if an explicit one isn't
	  provided. Avoids subtracting it twice and causing
	  parsing errors.
	  Fixes #607698

2010-01-22 16:55:14 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/asfdemux/gstasfdemux.c:
	* gst/mpegstream/gstmpegpacketize.c:
	  assert: g_assert_not_reached() cannot replace return statement
	  Fix build with assert being turned off.

2010-01-20 00:55:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 14cec89 to 15d47a6

2010-01-18 18:01:55 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Don't forget to update flow variable
	  Forgot to update the return value in the loop.

2010-01-18 17:49:06 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Check flow return on every push
	  We previously only aggregated flow returns after the while(push) loop,
	  which meant that in some cases we would end-up not properly aggregating
	  the flow returns.
	  This is based on the same flow aggregation algorithm as oggdemux.

2010-01-11 16:14:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: Add stream-format to output caps
	  Adds stream-format to output caps of x264enc that
	  informs if the stream is in bytestream of avc format.
	  Fixes #606662

2010-01-11 12:23:35 +0100  Arnaud Patard <apatard@mandriva.com>

	* gst/mpegaudioparse/gstxingmux.c:
	  xingmux: Fix unaligned memory access
	  ARM/SPARC need 32bit alignment but xingmux accesses possibly
	  unaligned memory, which leads to SIGBUS.
	  Fixes bug #586464.

2010-01-07 14:36:47 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Use GST_STR_NULL in a couple of places.
	  Fixes crashing on some of the log statements on win32.

2010-01-07 16:36:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Parse and post bitrate for streams
	  Parse the bitrate of the streams and post their tags.
	  Fixes #599299

2010-01-07 13:54:21 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Post bitrate tag
	  If stream bitrate object is available, post the bitrate
	  tags.
	  Fixes #599297

2010-01-04 15:19:25 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstmpegaudioparse.h:
	  mp3parse: minor validation check of (Xing, VBRI) metadata
	  ... to detect e.g. a truncated file, rendering some of the metadata invalid.

2010-01-04 14:59:06 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: use proper total_time and total_bytes in various cases
	  The correct basis for (Xing, VBRI) seek table calculations is the
	  byte size and duration provided by that metadata, rather than some
	  other (possibly even estimated) one.  This also prevents an infinite
	  conversion loop in (unlikely) case where a TOC is provided without
	  such corresponding (duration) metdata.

2009-12-08 19:55:04 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstmpegaudioparse.h:
	  mp3parse: conserve stop time for non-accurate seek
	  Use the same strategy as accurate seeks to store
	  pending non-accurate seeks to avoid overwriting non-definite
	  stop times. When doing non-accurate seeks our position
	  reporting might drift off by some secs and the stream can
	  end up before it should.
	  Fixes #603695

2009-12-21 19:12:59 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 47cb23a to 14cec89

2009-12-18 16:04:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/amrwbdec/amrwb.c:
	  amrwbdec: give decoder a rank so decodebin/playbin will use it

2009-12-08 19:01:50 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: return false when we can't seek
	  When upstream can't seek, we return false as well

2009-12-02 11:21:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	  lame: Avoid crash when seeking before negotiating
	  lame's 'lgv' variable is only initialized when the caps
	  is negotiated, whenever a seek happens before that, it would
	  attempt to call a function on an empty pointer, causing the crash.
	  Fixes #603515

2009-12-01 15:08:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 87bf428 to 47cb23a

2009-12-01 14:17:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From da4c75c to 87bf428

2009-11-27 18:56:13 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From 53a2485 to da4c75c

2009-11-26 15:54:45 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: fix non-flushing seek
	  Specifically, in addition to clearing lots of variables/offsets
	  when receiving newsegment, also clear leftover data to match.

2009-11-20 21:32:31 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  x264enc: Make upstream GstForceKeyUnit thread-safe
	  Also send the GstForceKeyUnit event downstream when an upstream on is received,
	  allowing muxers or payloaders to take appropriate actions.
	  https://bugzilla.gnome.org/show_bug.cgi?id=602556

2009-11-19 10:31:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From a3e3ce4 to 53a2485

2009-11-18 09:58:39 +0100  Benjamin Gaignard <benjamin@gaignard.net>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Don't call strlen() on NULL pointers
	  Fixes bug #602280.

2009-11-09 15:02:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Remove old pads when new ones are added
	  The old pads were being removed before adding the new ones,
	  we should add the new ones first.
	  Fixes #599718

2009-11-09 13:30:45 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Handle chained asfs on pull mode
	  Adds chained asfs handling to pull mode. It now checks if
	  there is a new asf header after the last packet (when it
	  is possible to know how many packets are) or it tries
	  checking if a processed packet that fails is an header
	  object.
	  Fixes #599718

2009-11-09 10:24:46 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: properly do chained asfs on push mode
	  To properly do chained asfs work with playbin2, we need to
	  push eos on the old pads before removing them.
	  Fixes #599718

2009-10-27 17:48:03 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: add support for chained asfs (push mode)
	  Adds support for detecting and playing chained asfs
	  in push mode. asfdemux tries to detect a new asf start
	  by identifying the header object guid in a input buffer.
	  When it finds it, it resets its state, removing its pads
	  and creates new ones for the new file.

2009-11-05 18:33:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix two small leaks

2009-11-05 18:19:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: prefer WM/TrackNumber over WM/Track, it's more reliable
	  WM/Track has a 0 base but is often wrongly written as starting from 1,
	  so not as reliable as WM/TrackNumber which always starts from 1.

2009-11-05 18:11:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: WM/Track starts counting from 0, adjust to start from 1

2009-11-05 18:11:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: map WM/TrackNumber to GST_TAG_TRACK_NUMBER as well
	  There's both WM/Track and WM/TrackNumber.

2009-11-04 15:52:09 +0000  Jan Schmidt <thaytan@noraisin.net>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Fix debug statement: Pass pos variable instead of time() function

2009-11-04 15:50:17 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvdsubdec: Fix printf format string warning

2009-11-04 15:46:04 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Fix bogus variable used uninitialised warnings

2009-11-04 13:55:39 +0000  Jan Schmidt <thaytan@noraisin.net>

	* po/Makevars:
	  po: Don't create backup .po files
	  As well as preventing creation of useless backup files, it works
	  around a bug in gettext 0.17 on OS/X

2009-10-29 11:39:13 -0700  Michael Smith <msmith@songbirdnest.com>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: fix c99-style comments.

2009-10-29 10:34:17 -0700  Michael Smith <msmith@songbirdnest.com>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: accept fragments in a continued packet where the subsequent fragments declare a size of 0. Fixes bug 600037.

2009-10-27 12:33:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rmutils.c:
	  rmutils: fix byteswapping
	  fix the byteswapping code that was wrong because of the side effects of the
	  READ/WRITE macros.
	  Fixes #599676

2009-10-20 20:00:44 +0100  Robert Swain <robert.swain@gmail.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Adapt to slightly modified x264 API
	  Fixes #599095.

2009-10-26 17:31:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: careful to avoid crash on bogus data
	  When receiving bogus data, we have to avoid subtracting a value
	  larger than 'size' from 'size' variable, resulting in a wrap
	  that would make 'size' a really large bogus value.
	  Fixes #599333

2009-10-26 00:56:37 +0000  Jan Schmidt <thaytan@noraisin.net>

	* win32/common/config.h:
	  win32: Commit bumped version number

2009-10-17 13:46:13 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: Don't use expensive glib ways to get an enum nick.
	  Fixes #598761
	  This removes a good 50% of processing time for parsing a buffer.
	  We do this by simply... getting the nicks that we already have handy
	  instead of going through the expensive glib system.

2009-10-24 20:36:41 +0200  Edward Hervey <bilboed@bilboed.com>

	* configure.ac:
	  configure.ac: And back to development we go...

=== release 0.10.13 ===

2009-10-21 17:16:00 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.prerequisites:
	* docs/plugins/inspect/plugin-a52dec.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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.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:
	* gst-plugins-ugly.doap:
	* win32/common/config.h:
	  Release 0.10.13

2009-10-21 17:02:42 +0100  Jan Schmidt <thaytan@noraisin.net>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/en_GB.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.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/ru.po:
	* po/sk.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

2009-10-16 10:16:55 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 85d1530 to 0702fe1

2009-10-15 23:56:55 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ChangeLog:
	* configure.ac:
	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/en_GB.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.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/ru.po:
	* po/sk.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	* win32/common/config.h:
	  0.10.12.3 pre-release

2009-10-14 10:41:48 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From a3e3ce4 to 85d1530

2009-10-13 13:05:32 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Fix reference leak on all input buffers in 'dvd mode'
	  https://bugzilla.gnome.org/show_bug.cgi?id=598272

2009-10-12 13:54:27 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ChangeLog:
	* configure.ac:
	* po/LINGUAS:
	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/en_GB.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.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/ru.po:
	* po/sk.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	* win32/common/config.h:
	  0.10.12.2 pre-release

2009-10-12 11:31:22 +0100  Jan Schmidt <thaytan@noraisin.net>

	* docs/plugins/gst-plugins-ugly-plugins.args.new:
	* docs/plugins/gst-plugins-ugly-plugins.signals.new:
	  docs: Remove files accidentally added
	  Remove the gst-plugins-ugly-plugins.args.new and
	  gst-plugins-ugly-plugins.signals.new files, that appear
	  to have been accidentally added in commit
	  f5d046a0b034f9bd7274291f7131ee5db1a30052

2009-09-16 00:00:28 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Add some debugging for new segment events

2009-10-11 16:18:37 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: fix warning in macosx snow leopard

2009-10-11 16:16:09 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/mpegstream/gstmpegparse.c:
	  mpegstream: fix warning in macosx snow leopard

2009-10-11 16:14:08 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: fix warning in macosx snow leopard

2009-10-11 16:09:11 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvdsubdec: fix warning on macosx snow leopard

2009-10-11 16:06:25 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix warning in macosx snow leopard

2009-10-08 19:58:25 +0300  René Stadler <rene.stadler@nokia.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: don't fail SEEKING query when upstream query fails for TIME format

2009-10-08 11:01:03 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 19fa4f3 to a3e3ce4

2009-10-07 14:22:09 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rdtmanager.c:
	  build: fprintf, sprintf, sscanf need stdio.h

2009-10-02 18:27:11 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/mad/gstmad.c:
	  mad: add missing include to fix the build

2009-10-05 12:13:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  dvdlpcm: whitespace fixes

2009-10-04 22:51:41 +0100  Christian F.K. Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-ugly.spec.in:
	  update spec file

2009-10-02 15:22:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* configure.ac:
	  x264enc: adjust configure checking to changed upstream

2009-10-01 18:58:42 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  x264enc: conditionally adjust to new upstream API
	  Fixes #596517.

2009-09-24 17:49:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstmpegaudioparse.h:
	  mpegaudioparse: prevent infinite (re)syncing
	  Conflicts:
	  gst/mpegaudioparse/gstmpegaudioparse.c

2009-09-22 12:13:38 -0700  Michael Smith <msmith@songbirdnest.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: Refactor checking for sync. Make resyncing more reliable.
	  Previously, we could get false sync relatively easily - it sometimes happened
	  on real files. This cleans the code up a fair bit, and makes it require more
	  confirmation that we've found valid sync before continuing.

2009-09-17 16:12:29 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: ensure 2 valid headers in a row when resyncing

2009-09-11 10:05:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/mpegstream/gstdvddemux.c:
	  dvddemux: remove bogus ifndef

2009-09-05 10:23:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 94f95e3 to 19fa4f3

2009-09-01 12:22:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Fix GstIndex handling, incl. refcounting and NULL indizes

2009-08-31 13:42:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/dvdsub/gstdvdsubparse.c:
	  dvdsubparse: GstAdapter is not a GstObject and should be freed with g_object_unref

2009-08-24 13:59:05 -0700  David Schleef <ds@schleef.org>

	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	  Remove Ronald Bultje from Authors field
	  Replaced with "GStreamer maintainers
	  <gstreamer-devel@lists.sourceforge.net>" or just removed,
	  depending on the number of other authors.

2009-08-24 13:57:14 -0700  David Schleef <ds@schleef.org>

	* gst/asfdemux/Makefile.am:
	* gst/asfdemux/gstasfmux.c:
	* gst/asfdemux/gstasfmux.h:
	  asfdemux: Remove old non-built asfmux code
	  Remove so people don't confuse it with the new asfmux code
	  in -bad.

2009-08-23 13:35:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Only add the MM_ACCEL_DJBFFT flag if it's defined
	  It's not defined for older liba52 versions.

2009-08-23 13:34:32 +0200  Mart Raudsepp <leio@gentoo.org>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Allow liba52 to use djbfft based IMDCT transform
	  liba52 in a52dec-0.7.4 does not have any MMX, MMXEXT or 3DNOW based
	  IMDCT transform acceleration. It does however have a software based
	  acceleration using the djbfft library (D.J. Bernstein's library for
	  fourier transforms - Extremely fast library for floating-point
	  convolution). So allow liba52 to use it through the MM_ACCEL_DJBFFT
	  flag.
	  The liba52 copy in MPlayer sources does have SSE, 3dnowext, 3dnow
	  and AltiVec implementations, but those are checked for first, and
	  djbfft is chosen only if none of those is available - good in the
	  case of some distributions including a port of the MPlayer changes
	  in their system a52dec library.
	  The down and upmix code in liba52 doesn't seem to be disturbed by
	  this additional MM_ACCEL flag and will still use MMX, SSE or 3DNOW
	  versions if passed from oil_cpu_get_flags (SSE currently is not).
	  Fixes bug #592787.

2009-08-17 17:31:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  amr: Use opencore-amr pkg-config files if possible
	  This makes it possible to build the plugins when the libraries
	  are installed at non-standard locations.
	  Fixes bug #591348.

2009-08-14 12:07:40 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: use metadata (xing, vbri) provided bytesize for conversions
	  Metadata provided seek tables are consistent with metadata's view of
	  total size, which typically matches real size, but need not do so
	  (e.g. a truncated file).  Fixes seeking and position reporting
	  in such truncated files (although duration based on metadata may then
	  still be incorrect).

2009-08-10 22:22:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: bump core/base requirements to released versions
	  to avoid confusion.

2009-08-04 10:44:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Remove all mentions to the id3tag plugin which was removed

2009-08-01 08:43:21 +0200  Marvin Schmidt <marvin_schmidt@gmx.net>

	* configure.ac:
	  mad: make check for mad independent of the check for id3tag
	  Fixes bug #590432.

2009-07-31 00:25:43 -0300  Thiago Santos <thiagoss@embedded.ufcg.edu.br>

	* gst/asfdemux/gstrtpasfdepay.c:
	  rtpasfdepay: set padding size to the correct value
	  asf packets in rtp packets should come with their padding fields
	  set to 0 and the depayload must update them to the correct
	  value before pushing downstream

2009-07-27 20:12:20 +0200  Iago Toral <itoral@igalia.com>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/gst-plugins-ugly-plugins.prerequisites:
	* docs/plugins/inspect/plugin-amrnb.xml:
	* docs/plugins/inspect/plugin-amrwbdec.xml:
	* ext/Makefile.am:
	* ext/amrnb/GstAmrnbEnc.prs:
	* ext/amrnb/Makefile.am:
	* ext/amrnb/README:
	* ext/amrnb/amrnb.c:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbdec.h:
	* ext/amrnb/amrnbenc.c:
	* ext/amrnb/amrnbenc.h:
	* ext/amrnb/amrnbparse.c:
	* ext/amrnb/amrnbparse.h:
	* ext/amrwbdec/Makefile.am:
	* ext/amrwbdec/README:
	* ext/amrwbdec/amrwb.c:
	* ext/amrwbdec/amrwbdec.c:
	* ext/amrwbdec/amrwbdec.h:
	  amr: Add AMR-WB decoder and AMR-NB encoder and decoder
	  These are based on the OpenCore codecs.
	  Fixes bug #584890.

2009-07-24 00:43:07 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From fedaaee to 94f95e3

2009-07-22 11:10:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* LICENSE_readme:
	* REQUIREMENTS:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins.args.new:
	* docs/plugins/gst-plugins-ugly-plugins.signals.new:
	* docs/plugins/inspect/plugin-dvdnav.xml:
	* ext/Makefile.am:
	* ext/dvdnav/.gitignore:
	* ext/dvdnav/Makefile.am:
	* ext/dvdnav/README:
	* ext/dvdnav/dvdnavsrc.c:
	* ext/dvdnav/dvdnavsrc.h:
	* ext/dvdnav/gst-dvd:
	* ext/dvdread/dvdreadsrc.c:
	* gst-plugins-ugly.spec.in:
	* po/POTFILES.in:
	  dvdnav: remove dvdnav plugin
	  Remove dvdnav plugin, it has no future. resindvd is the plugin to
	  use for dvd playback. Note that dvdnav was never really enabled
	  in -ugly, you had to edit configure.ac to get it built.

2009-06-20 14:31:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/mpeg2dec.c:
	  mpeg2dec: Fix unused variables compiler warnings in unit test

2009-06-26 15:21:12 +0100  Jan Schmidt <thaytan@noraisin.net>

	* autogen.sh:
	  autogen.sh: Use printf instead of 'echo -n'. Check for automake-1.1[01]
	  Check for more automake command variants. Use printf instead of 'echo -n'
	  for portability

2009-07-13 12:24:14 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 5845b63 to fedaaee

2009-02-10 13:25:54 +0000  Tim-Philipp Muller <tpm@mini.centricular.net>

	* .gitignore:
	  Make git ignore more files

2009-06-29 11:10:42 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Refactor multiple packet pull.
	  This also fixes a bug by which the first buffer (in a multi-packet mode)
	  passed to asf_demux_parse_packet() would have a GST_BUFFER_SIZE of the
	  full incoming buffer and not just of the single asf packet.
	  Fixes corrupted frames introduced by latest commit.

2009-06-29 10:58:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: use the right accurate field
	  Remove accurate variable and its faulty use because the real variable is an
	  instance variable.

2009-06-28 17:48:11 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Sprinkle branch prediction macros accross the code

2009-06-28 17:43:12 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Delay newsegment handling until we have a keyframe.
	  We now have a chance for packets to be collected before we send out the
	  newsegment. If we're not in accurate seeking (keyunit) it will set
	  the segment start/time to the keyframe's timestamp.

2009-06-28 17:39:23 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Remove useless check. We already have checked for it above.

2009-06-28 17:31:11 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: No longer queue GOPs now that seeking is fixed.
	  We now *always* seek to the keyframe just before our requested position.
	  When we encounter the first keyframe and we were not accurate (therefore doing
	  keyframe seeking), we update the segment start position to the keyframe timestamp.

2009-06-28 17:42:44 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Store the accurate seeking flag

2009-06-28 17:04:00 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Use the average frame duration for buffers without a duration.
	  This will still cause some timestamp jitter, but giving a hint as to the duration
	  rather than nothing seems to be a better idea.
	  Also, this allows some scenarios (like remuxing with asfmux) to estimate the total
	  duration using the accumulated packet duration (which will be correct).

2009-06-28 17:02:17 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Use index entry packet count to optimize seeking.
	  The simple index entries also contain the number of packets one needs
	  to retrieve at a given position to get a full keyframe. We therefore
	  use that information to retrieve all those packets in one buffer when
	  working in pull-mode.

2009-06-26 20:52:29 -0300  Thiago Santos <thiagoss@embedded.ufcg.edu.br>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Do not try to free const pointer
	  In gst_asf_demux_chain_headers, when 'goto wrong_type' was called
	  asfdemux tried to free a const pointer that had been cast to a
	  normal pointer variable.

2009-06-26 20:44:09 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Use presentation timestamp when searching in the index.
	  We need to take the preroll into account... else we end up too early.

2009-06-26 13:43:16 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From f3bb51b to 5845b63

2009-06-26 13:35:38 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Convert index entry from presentation time to timestamps.
	  We weren't taking the preroll into account previously, meaning that we
	  were always seeking preroll nanoseconds too early... resulting in a lot
	  of dropped packets (which are before the start time).
	  This brings quit a bit closer to as-fast-as-possible seeking in asf files.

2009-06-26 10:58:56 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Fix byte array metadata handling.
	  We basically discard byte array metadata. Should be trivial to adapt
	  to storing the pointers if we need it later on.

2009-06-26 10:41:28 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Handle PAR/interlaced information stored in packet payload.
	  This is the 'other' way to store non 1/1 PAR in asf streams (by storing it
	  in the ASF Packet payload extensions).

2009-06-26 10:40:39 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: Store/Handle global metadata (not specific to one stream).
	  This allows us to store (and handle) PAR information which might be stored there.

2009-06-25 18:24:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: fix Xing inverse seek table building

2009-06-24 15:15:37 +0100  Jan Schmidt <jan.schmidt@sun.com>

	* common:
	  Automatic update of common submodule
	  From f3bb51b to f810030

2009-06-23 16:45:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: don't try to free a NULL taglist

2009-06-23 02:14:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: post tags only after we've created our source pads
	  Post global tags only after we've added our source pads, so that
	  tag events get sent downstream in addition to tag messages posted
	  on the bus. This makes sure tags can be picked up automatically
	  when transcoding, but also by tagreadbin/playbin2. Fixes #519721.
	  While we're at it, also add a container-format tag.

2009-06-23 01:37:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: use new bytereader functions for image tag parsing

2009-06-22 18:53:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: remove some more unused variables

2009-06-19 17:25:58 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/realmedia/rmdemux.c:
	  rmdemux: plug buffer leaking

2009-06-22 17:36:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  asfdepay: guard against dropped buffers
	  If a buffer was dropped, we might request data from the adapter that is not
	  there and then we get a NULL buffer.

2009-06-22 17:16:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: set DISCONT on streams
	  When we receive a DISCONT as input, don't clear our complete state but simply
	  mark a discont that will be put on the next buffer. The code will be able to
	  handle and throw away incomplete data.
	  Add some more debug info.
	  Remove an unused variable.

2009-06-22 17:15:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  asfdepay: set DELTA_UNIT flag correctly
	  Only set the DELTA_UNIT flag when we are not dealing with a keyframe.
	  Add some more debug info.

2009-06-22 13:37:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix latency calculations
	  We need to check for -1 as an invalid timestamp, not 1.

2009-06-16 09:45:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstmpegaudioparse.h:
	  mp3parse: don't put every single frame into the index
	  Let's not put every single mp3 frame in our index, a few frames per
	  second should be more than enough. For now use an index interval
	  of 100ms-500ms depending on the upstream size, to keep the index at
	  a reasonable size. Factor out the code that adds the index entry
	  into a separate function for better code readability.

2009-06-16 01:40:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstmpegaudioparse.h:
	  mp3parse: assume seekability only if we know the upstream size
	  While technically upstream may be seekable even if it doesn't know
	  the exact size, I can't think of a use case where this distincation
	  is relevant in practice, so for now just assume we're not seekable
	  if upstream doesn't provide us with a size. Makes sure we don't
	  build a seek index when streaming internet radio with sources that
	  pretend to be seekable until you try to actually seek.

2009-06-19 17:46:12 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-ugly.spec.in:
	  Fix x264 requirement in SPEC file

2009-06-19 15:01:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* gst/realmedia/rdtmanager.c:
	  x264enc, rdtmanager: fix compilation with debugging disabled

2009-06-11 13:48:22 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	* docs/plugins/Makefile.am:
	  docs: Bump common. Fix comment in the docs Makefile.am

2009-06-18 20:26:04 +0100  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	* win32/common/config.h:
	  Back to development -> 0.10.12.1

2009-06-18 08:54:17 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst-plugins-ugly.doap:
	  Add 0.10.12 release to the doap file

=== release 0.10.12 ===

2009-06-18 08:34:54 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* docs/plugins/gst-plugins-ugly-plugins.prerequisites:
	* docs/plugins/inspect/plugin-a52dec.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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-synaesthesia.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* docs/plugins/inspect/plugin-x264.xml:
	* win32/common/config.h:
	  Release 0.10.12

2009-06-18 08:34:46 +0100  Jan Schmidt <thaytan@noraisin.net>

	* po/bg.po:
	* po/id.po:
	* po/it.po:
	* po/nl.po:
	* po/zh_CN.po:
	  Update .po files

2009-06-18 08:04:40 +0100  Jan Schmidt <thaytan@noraisin.net>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/en_GB.po:
	* po/es.po:
	* po/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/mt.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ru.po:
	* po/sk.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

2009-06-05 22:10:02 +0100  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/en_GB.po:
	* po/es.po:
	* po/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/mt.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ru.po:
	* po/sk.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	* win32/common/config.h:
	  0.10.11.2 pre-release

2009-06-05 22:07:31 +0100  Jan Schmidt <thaytan@noraisin.net>

	* win32/common/config.h.in:
	  win32: Remove #undef inline from the win32 config.h

2009-06-05 20:53:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/inspect/plugin-mad.xml:
	* ext/mad/Makefile.am:
	* ext/mad/gstid3tag.c:
	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	  mad, id3mux: (re)move broken, unmaintained and unloved id3mux element
	  It will be reborn with a shiny new code base under its hood in -bad.
	  See #581756 and #565764.

2009-06-05 19:48:28 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/pipelines/.gitignore:
	  gitignore: Ignore some built files in the test area

2009-06-05 19:46:17 +0100  Jan Schmidt <thaytan@noraisin.net>

	* docs/plugins/inspect/plugin-a52dec.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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-synaesthesia.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	  docs: Update plugin inspect files

2009-06-05 19:25:54 +0100  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/inspect/plugin-x264.xml:
	* ext/Makefile.am:
	* gst-plugins-ugly.spec.in:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	  Moved 'x264enc' from -bad to -ugly

2009-05-25 11:18:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  [MOVED FROM BAD 28/28] x264enc: add multipass-cache-file property
	  Fixes #583627

2009-05-09 23:47:39 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* ext/x264/GstX264Enc.prs:
	  [MOVED FROM BAD 27/28] Remove wrong stuff from preset file

2009-05-09 12:42:25 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* ext/x264/GstX264Enc.prs:
	  [MOVED FROM BAD 26/28] Add a more representative example preset file for x264

2009-05-07 17:53:42 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  [MOVED FROM BAD 25/28] Add ranks to various muxers and encoders in -bad

2009-04-30 00:06:36 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/x264/GstX264Enc.prs:
	* ext/x264/Makefile.am:
	* ext/x264/gstx264enc.c:
	  [MOVED FROM BAD 24/28] x264enc: add preset support
	  Add preset iface and a (dummy) preset file as a starting point.

2009-04-29 16:57:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/x264/gstx264enc.c:
	  [MOVED FROM BAD 23/28] x264enc: add some documentation on profile

2009-04-09 23:53:39 +0200  Janin Kolenc <janin.kolenc at marand.si>

	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	  [MOVED FROM BAD 22/28] x264enc: add force keyframe event handling
	  Use the GstForceKeyUnit event to force a keyframe.
	  Fixes #578112.

2009-01-05 10:28:58 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 21/28] ext/x264/gstx264enc.c: Use hyphen in property name, perform safety buffer size check prior to mem access, and some mo...
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_class_init),
	  (gst_x264_enc_header_buf), (gst_x264_enc_encode_frame):
	  Use hyphen in property name, perform safety buffer size check
	  prior to mem access, and some more parentheses in macro.

2009-01-02 01:44:11 +0000  Alessandro Decina <alessandro.d@gmail.com>

	  [MOVED FROM BAD 20/28] ext/apexsink/Makefile.am: Link against -lgcrpyto for RSA_new and RSA_free.
	  Original commit message from CVS:
	  * ext/apexsink/Makefile.am:
	  Link against -lgcrpyto for RSA_new and RSA_free.
	  * ext/faac/gstfaac.c:
	  * ext/x264/gstx264enc.c:
	  Fix compiler warnings.

2008-11-14 19:52:24 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 19/28] ext/x264/gstx264enc.c: Construct source caps in more conventional (and correct) manner.
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_set_src_caps):
	  Construct source caps in more conventional (and correct) manner.

2008-11-04 12:42:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD 18/28] Don't install static libs for plugins. Fixes #550851 for -bad.
	  Original commit message from CVS:
	  * ext/alsaspdif/Makefile.am:
	  * ext/amrwb/Makefile.am:
	  * ext/apexsink/Makefile.am:
	  * ext/arts/Makefile.am:
	  * ext/artsd/Makefile.am:
	  * ext/audiofile/Makefile.am:
	  * ext/audioresample/Makefile.am:
	  * ext/bz2/Makefile.am:
	  * ext/cdaudio/Makefile.am:
	  * ext/celt/Makefile.am:
	  * ext/dc1394/Makefile.am:
	  * ext/dirac/Makefile.am:
	  * ext/directfb/Makefile.am:
	  * ext/divx/Makefile.am:
	  * ext/dts/Makefile.am:
	  * ext/faac/Makefile.am:
	  * ext/faad/Makefile.am:
	  * ext/gsm/Makefile.am:
	  * ext/hermes/Makefile.am:
	  * ext/ivorbis/Makefile.am:
	  * ext/jack/Makefile.am:
	  * ext/jp2k/Makefile.am:
	  * ext/ladspa/Makefile.am:
	  * ext/lcs/Makefile.am:
	  * ext/libfame/Makefile.am:
	  * ext/libmms/Makefile.am:
	  * ext/metadata/Makefile.am:
	  * ext/mpeg2enc/Makefile.am:
	  * ext/mplex/Makefile.am:
	  * ext/musepack/Makefile.am:
	  * ext/musicbrainz/Makefile.am:
	  * ext/mythtv/Makefile.am:
	  * ext/nas/Makefile.am:
	  * ext/neon/Makefile.am:
	  * ext/ofa/Makefile.am:
	  * ext/polyp/Makefile.am:
	  * ext/resindvd/Makefile.am:
	  * ext/sdl/Makefile.am:
	  * ext/shout/Makefile.am:
	  * ext/snapshot/Makefile.am:
	  * ext/sndfile/Makefile.am:
	  * ext/soundtouch/Makefile.am:
	  * ext/spc/Makefile.am:
	  * ext/swfdec/Makefile.am:
	  * ext/tarkin/Makefile.am:
	  * ext/theora/Makefile.am:
	  * ext/timidity/Makefile.am:
	  * ext/twolame/Makefile.am:
	  * ext/x264/Makefile.am:
	  * ext/xine/Makefile.am:
	  * ext/xvid/Makefile.am:
	  * gst-libs/gst/app/Makefile.am:
	  * gst-libs/gst/dshow/Makefile.am:
	  * gst/aiffparse/Makefile.am:
	  * gst/app/Makefile.am:
	  * gst/audiobuffer/Makefile.am:
	  * gst/bayer/Makefile.am:
	  * gst/cdxaparse/Makefile.am:
	  * gst/chart/Makefile.am:
	  * gst/colorspace/Makefile.am:
	  * gst/dccp/Makefile.am:
	  * gst/deinterlace/Makefile.am:
	  * gst/deinterlace2/Makefile.am:
	  * gst/dvdspu/Makefile.am:
	  * gst/festival/Makefile.am:
	  * gst/filter/Makefile.am:
	  * gst/flacparse/Makefile.am:
	  * gst/flv/Makefile.am:
	  * gst/games/Makefile.am:
	  * gst/h264parse/Makefile.am:
	  * gst/librfb/Makefile.am:
	  * gst/mixmatrix/Makefile.am:
	  * gst/modplug/Makefile.am:
	  * gst/mpeg1sys/Makefile.am:
	  * gst/mpeg4videoparse/Makefile.am:
	  * gst/mpegdemux/Makefile.am:
	  * gst/mpegtsmux/Makefile.am:
	  * gst/mpegvideoparse/Makefile.am:
	  * gst/mve/Makefile.am:
	  * gst/nsf/Makefile.am:
	  * gst/nuvdemux/Makefile.am:
	  * gst/overlay/Makefile.am:
	  * gst/passthrough/Makefile.am:
	  * gst/pcapparse/Makefile.am:
	  * gst/playondemand/Makefile.am:
	  * gst/rawparse/Makefile.am:
	  * gst/real/Makefile.am:
	  * gst/rtjpeg/Makefile.am:
	  * gst/rtpmanager/Makefile.am:
	  * gst/scaletempo/Makefile.am:
	  * gst/sdp/Makefile.am:
	  * gst/selector/Makefile.am:
	  * gst/smooth/Makefile.am:
	  * gst/smoothwave/Makefile.am:
	  * gst/speed/Makefile.am:
	  * gst/speexresample/Makefile.am:
	  * gst/stereo/Makefile.am:
	  * gst/subenc/Makefile.am:
	  * gst/tta/Makefile.am:
	  * gst/vbidec/Makefile.am:
	  * gst/videodrop/Makefile.am:
	  * gst/videosignal/Makefile.am:
	  * gst/virtualdub/Makefile.am:
	  * gst/vmnc/Makefile.am:
	  * gst/y4m/Makefile.am:
	  * sys/acmenc/Makefile.am:
	  * sys/cdrom/Makefile.am:
	  * sys/dshowdecwrapper/Makefile.am:
	  * sys/dshowsrcwrapper/Makefile.am:
	  * sys/dvb/Makefile.am:
	  * sys/dxr3/Makefile.am:
	  * sys/fbdev/Makefile.am:
	  * sys/oss4/Makefile.am:
	  * sys/qcam/Makefile.am:
	  * sys/qtwrapper/Makefile.am:
	  * sys/vcd/Makefile.am:
	  * sys/wininet/Makefile.am:
	  * win32/common/config.h:
	  Don't install static libs for plugins. Fixes #550851 for -bad.

2008-10-27 17:01:22 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 17/28] ext/x264/gstx264enc.c: Adapt to slightly modified x264 API.  Fixes #555238.
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_init_encoder):
	  Adapt to slightly modified x264 API.  Fixes #555238.

2008-08-12 16:13:15 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 16/28] ext/x264/gstx264enc.*: Do not deal with duplicated input (timestamps).  If needed, a generic element can do so.
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_reset),
	  (gst_x264_enc_chain), (gst_x264_enc_encode_frame):
	  * ext/x264/gstx264enc.h:
	  Do not deal with duplicated input (timestamps).  If needed,
	  a generic element can do so.
	  Do not manipulate input timestamps on the way out,
	  since that shifts the timeline and A/V sync.

2008-08-12 15:41:48 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 15/28] docs/plugins/gst-plugins-bad-plugins.args: Integrate new properties into documentation.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-bad-plugins.args:
	  Integrate new properties into documentation.
	  * ext/x264/gstx264enc.c: (gst_x264_enc_class_init),
	  (gst_x264_enc_init), (gst_x264_enc_init_encoder),
	  (gst_x264_enc_set_property), (gst_x264_enc_get_property):
	  Fix up API prior to eventual plugin move.
	  API: GstX264Enc:pass (provides more options, and changed to enum)

2008-08-12 13:08:39 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 14/28] Add documentation and unit test for x264enc.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-bad-plugins-sections.txt:
	  * ext/x264/gstx264enc.c:
	  * tests/check/Makefile.am:
	  * tests/check/elements/x264enc.c: (setup_x264enc),
	  (cleanup_x264enc), (GST_START_TEST), (x264enc_suite), (main):
	  Add documentation and unit test for x264enc.

2008-08-11 17:24:58 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 13/28] ext/x264/gstx264enc.c: Allocate some buffers in more adaptive and economical fashion.
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_init),
	  (gst_x264_enc_header_buf), (gst_x264_enc_encode_frame):
	  Allocate some buffers in more adaptive and economical fashion.

2008-08-11 15:16:14 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 12/28] configure.ac: Check for sufficiently up-to-date x264 API.
	  Original commit message from CVS:
	  * configure.ac:
	  Check for sufficiently up-to-date x264 API.
	  * ext/x264/gstx264enc.c: (gst_x264_enc_pass_get_type),
	  (gst_x264_enc_base_init), (gst_x264_enc_class_init),
	  (gst_x264_enc_init), (gst_x264_enc_init_encoder),
	  (gst_x264_enc_set_property), (gst_x264_enc_get_property):
	  * ext/x264/gstx264enc.h:
	  Expose some more parameters of the x264 encoder as properties.

2008-08-08 15:07:12 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 11/28] ext/x264/gstx264enc.c: Coding style and layout; re-order some functions in more typical and natural flow.
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_log_callback),
	  (gst_x264_enc_finalize), (gst_x264_enc_header_buf),
	  (gst_x264_enc_set_src_caps), (gst_x264_enc_sink_set_caps),
	  (gst_x264_enc_flush_frames):
	  Coding style and layout; re-order some functions in more
	  typical and natural flow.

2008-08-08 14:19:16 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 10/28] ext/x264/: Use GQueue in stead of custom queue code.
	  Original commit message from CVS:
	  * ext/x264/Makefile.am:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_set_src_caps),
	  (gst_x264_enc_sink_set_caps), (gst_x264_enc_init),
	  (gst_x264_enc_reset), (gst_x264_enc_finalize),
	  (gst_x264_enc_flush_frames), (gst_x264_enc_sink_event),
	  (gst_x264_enc_chain), (gst_x264_enc_encode_frame),
	  (gst_x264_enc_change_state), (gst_x264_enc_set_property):
	  * ext/x264/gstx264enc.h:
	  Use GQueue in stead of custom queue code.
	  Factorize flushing out encoder delayed frames.
	  Factorize initialization and state change reset.

2008-08-08 10:56:02 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 09/28] Use configure-generated _stdint.h.
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.h:
	  * sys/fbdev/gstfbdevsink.c:
	  Use configure-generated _stdint.h.

2008-08-08 10:13:36 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  [MOVED FROM BAD 08/28] ext/x264/: Use video format library and GST_WRITE_*_BE macros where applicable.
	  Original commit message from CVS:
	  * ext/x264/Makefile.am:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_header_buf),
	  (gst_x264_enc_sink_set_caps), (gst_x264_enc_base_init),
	  (gst_x264_enc_class_init), (gst_x264_enc_log_callback),
	  (gst_x264_enc_init), (gst_x264_enc_init_encoder),
	  (gst_x264_enc_finalize), (gst_x264_enc_chain),
	  (gst_x264_enc_encode_frame), (plugin_init):
	  * ext/x264/gstx264enc.h:
	  Use video format library and GST_WRITE_*_BE macros where applicable.
	  Use finalize in stead of dispose.
	  Set up debug category and log callback.

2008-06-04 11:33:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  [MOVED FROM BAD 07/28] ext/x264/gstx264enc.c: Try harder not to crash when we get an EOS event but haven't set up the encoder yet (as may ha...
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_header_buf),
	  (gst_x264_enc_sink_event), (gst_x264_enc_chain),
	  (gst_x264_enc_encode_frame):
	  Try harder not to crash when we get an EOS event but haven't set
	  up the encoder yet (as may happen when upstream errors out with
	  not-negotiated, for example). Also, always push the EOS event
	  downstream.

2007-12-11 16:26:07 +0000  Wim Taymans <wim.taymans@gmail.com>

	  [MOVED FROM BAD 06/28] ext/x264/gstx264enc.c: Fix caps memleak.
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_set_src_caps):
	  Fix caps memleak.

2007-10-26 17:18:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  [MOVED FROM BAD 05/28] ext/x264/gstx264enc.c: Fix build against the libx264 version that ships with debian stable.
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c:
	  Fix build against the libx264 version that ships with debian stable.

2007-09-24 10:53:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD 04/28] Massive leak fixing, plus code cleanups.
	  Original commit message from CVS:
	  * ext/audioresample/gstaudioresample.c:
	  * ext/x264/gstx264enc.c:
	  * gst/dvdspu/gstdvdspu.c:
	  * gst/dvdspu/gstdvdspu.h:
	  * gst/festival/gstfestival.c:
	  * gst/h264parse/gsth264parse.c:
	  * gst/mpegtsparse/mpegtspacketizer.c:
	  * gst/mpegtsparse/mpegtsparse.c:
	  * gst/multifile/gstmultifilesink.c:
	  * gst/multifile/gstmultifilesrc.c:
	  * gst/nuvdemux/gstnuvdemux.c:
	  * sys/dshowsrcwrapper/gstdshowaudiosrc.c:
	  * sys/dshowsrcwrapper/gstdshowvideosrc.c:
	  * sys/vcd/vcdsrc.c:
	  Massive leak fixing, plus code cleanups.

2007-07-18 07:35:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD 03/28] Add stdlib include (free, atoi, exit).
	  Original commit message from CVS:
	  * examples/app/appsrc_ex.c:
	  * examples/switch/switcher.c:
	  * ext/neon/gstneonhttpsrc.c:
	  * ext/timidity/gstwildmidi.c:
	  * ext/x264/gstx264enc.c:
	  * gst/mve/mveaudioenc.c: (mve_compress_audio):
	  * gst/rtpmanager/gstrtpclient.c:
	  * gst/rtpmanager/gstrtpjitterbuffer.c:
	  * gst/spectrum/demo-audiotest.c:
	  * gst/spectrum/demo-osssrc.c:
	  * sys/dvb/gstdvbsrc.c:
	  Add stdlib include (free, atoi, exit).

2007-05-15 21:23:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD 02/28] ext/x264/gstx264enc.c (gst_x264_enc_init_encoder): This needs a version check.
	  Original commit message from CVS:
	  * ext/x264/gstx264enc.c (gst_x264_enc_init_encoder):
	  This needs a version check.
	  * gst/bayer/Makefile.am:
	  Fix the build.

2007-03-25 13:06:26 +0000  Michal Benes <michal.benes@itonis.tv>

	  [MOVED FROM BAD 01/28] Add libx264-based h264 encoder plugin (#421110). Probably doesn't handle 'odd' widths and heights correctly yet.
	  Original commit message from CVS:
	  Patch by: Michal Benes <michal.benes at itonis tv>
	  Patch by: Josef Zlomek <josef.zlomek at itonis tv>
	  * configure.ac:
	  * ext/Makefile.am:
	  * ext/x264/Makefile.am:
	  * ext/x264/gstx264enc.c: (gst_x264_enc_me_get_type),
	  (gst_x264_enc_analyse_get_type),
	  (gst_x264_enc_timestamp_queue_init),
	  (gst_x264_enc_timestamp_queue_free),
	  (gst_x264_enc_timestamp_queue_put),
	  (gst_x264_enc_timestamp_queue_get), (gst_x264_enc_header_buf),
	  (gst_x264_enc_set_src_caps), (gst_x264_enc_sink_set_caps),
	  (gst_x264_enc_base_init), (gst_x264_enc_class_init),
	  (gst_x264_enc_init), (gst_x264_enc_init_encoder),
	  (gst_x264_enc_close_encoder), (gst_x264_enc_dispose),
	  (gst_x264_enc_sink_event), (gst_x264_enc_chain),
	  (gst_x264_enc_encode_frame), (gst_x264_enc_change_state),
	  (gst_x264_enc_set_property), (gst_x264_enc_get_property),
	  (plugin_init):
	  * ext/x264/gstx264enc.h:
	  Add libx264-based h264 encoder plugin (#421110). Probably doesn't
	  handle 'odd' widths and heights correctly yet.

2009-06-05 01:51:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: nicer metadata extraction of genre tags in some cases
	  Handle pseudo-strings like "(5)" and map them to the ID3v1 genre
	  that they presumably stand for.

2009-06-05 01:32:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: parse WM/Picture tags to extract cover art
	  Fixes #583112.

2009-05-31 20:20:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* REQUIREMENTS:
	  docs: fix http links for amr libs in REQUIREMENTS

2009-05-29 20:07:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fix bogus flow return handling in eos handler
	  Don't overwrite the origin flow return by whatever flow we get
	  when trying to push the remaining internally queued payloads.
	  We want to do our eos logic, ie. send an EOS event or segment-done
	  message in any case. Makes things EOS properly when an EOS event
	  is forced upon the pipeline so that the source returns
	  FLOW_UNEXPECTED to a pulling asfdemux. Should fix #582056.

2009-05-29 19:52:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/config.h:
	  win32: update config.h

2009-05-22 19:27:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: bump core/base requirements to released versions

2009-05-22 19:26:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* autogen.sh:
	* configure.ac:
	  autogen: move the -Wno-portability for automake into configure.ac

2009-05-27 00:16:30 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/dvdlpcmdec/Makefile.am:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  dvdlpcmdec: Add multichannel channel maps, and send some tags
	  Add a multichannel map to the output caps, and send at least a CODEC and
	  BITRATE tag. I'm not too sure about the 5.1 and 7.1 channel maps. I have
	  no samples and can't find info about the channel ordering, but this is
	  better than nothing.

2009-05-26 17:19:54 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 888e0a2 to c572721

2009-05-22 10:20:46 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 6ab11d1 to 888e0a2

2009-05-21 15:18:06 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/dvdsub/gstdvdsubdec.c:
	  dvdsubdec: Remove some dead code
	  Remove some redundant memset - gobject memory is already initalised to 0.
	  Remove a commented out line leftover from the previous commit

2009-05-21 14:20:22 +0100  Kapil Agrawal <kapil@mediamagictechnologies.com>

	* gst/dvdsub/gstdvdsubdec.c:
	* gst/dvdsub/gstdvdsubdec.h:
	  dvdsubdec: Support ARGB output
	  Negotiate to and render into ARGB buffers directly if the peer supports it.
	  Fixes: #580869

2009-05-19 00:51:49 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ext/a52dec/gsta52dec.c:
	  a52dec: Reconcile code with dtsdec
	  Perform some cleanups based on the dtsdec code such as using the boilerplate
	  macro and static pad template functions.
	  Add some documentation. Don't register a change in flags until we synch on
	  another frame successfully.

2009-05-14 12:32:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: Improve debugging a bit

2009-05-13 19:32:16 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Revert ranking switch with ffdec_mpeg2video. Fixes #574461

2009-05-13 01:55:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/Makevars:
	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/en_GB.po:
	* po/es.po:
	* po/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/mt.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ru.po:
	* po/sk.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: avoid conflicts of local *.po files with files in git
	  Make it so that filenames and line numbers are only stored in the *.pot file
	  (which is not in git), but not in the individual *.po files. This information
	  is hardly useful for translators in our case, and it should avoid the constant
	  conflicts of local *.po files with the ones in git which are caused by the
	  source files changing and the line numbers being updated. This commit might
	  cause one last merge conflict for you, which you can work around with
	  "git checkout po/*.po" before merging or pulling. After that there should
	  (hopefully) not be any more local modifications of these files (unless
	  someone committed additions or changes to translated strings and the
	  *.po files haven't been updated yet, that is).

2009-05-12 19:22:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: add Since tag to gtk-doc chunk

2009-05-13 01:46:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/mpeg2dec.c:
	  checks: fix mpeg2dec unit test again after interlace addition to caps

2009-05-12 20:34:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: work around old mpeg2dec versions
	  The repeat first field flag was introduced in 0.5.0 so conditionally disable its
	  detection and just assume no rff is used. This fixes the compilation.
	  Fixes #582375

2009-05-12 20:24:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mpeg2dec/Makefile.am:
	  mpeg2dec: link to gstvideo
	  Fix compilation by adding the right include directories and linking to the video
	  library.

2009-05-12 11:57:04 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/asfpacket.c:
	  asfdemux: Downgrade simple statements from WARNING to DEBUG

2009-05-11 12:37:46 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/asfheaders.c:
	* gst/asfdemux/asfheaders.h:
	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/asfpacket.h:
	  asf: Detect more payload extensions.
	  These should help fix interlaced/PAR issues with more files.

2009-05-12 11:44:13 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	  mpeg2dec: Implement interlaced support.
	  Expand the debugging statements to show more picture information.

2009-05-12 11:19:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Lower rank to MARGINAL to make ffdec_mpeg2video the default
	  ffdec_mpeg2video is much faster, fixes bug #574461.

2009-05-10 16:53:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: Don't write a Xing header

2009-05-10 11:17:25 +0200  Marc-Andre Lureau <marcandre.lureau@gmail.com>

	* autogen.sh:
	  Run libtoolize before aclocal
	  This unbreaks the build in some cases. Fixes bug #582021

2009-05-09 15:28:18 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: use 64bit safe scaling functions.
	  Got this to fail when seeking in a 14GB file (the value in bytes is
	  bigger than 2**32).

2009-05-09 10:57:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: remove some pointless g_return_if_fail()s

2009-05-08 14:24:47 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* ext/twolame/gsttwolame.c:
	  Switch twolame to primary rank

2009-05-07 17:59:52 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/twolame/gsttwolame.c:
	  Add ranks to mp3 encoders

2009-05-07 17:57:17 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-ugly.spec.in:
	  Add twolame plugin to spec file

2009-05-02 18:11:06 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: use upstream segment and timestamps for some interpolation
	  This should particularly help in case of upstream live src, e.g. rtspsrc,
	  and especially so if it has to perform fallback to TCP.

2009-05-07 11:09:59 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstrtpasfdepay.c:
	  rtpasfdepay: Add support for fragmented packet (L == 0).
	  This happens with rtp-over-udp.

2009-05-07 10:10:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: Fixup the bitrate only for CBR
	  Additionally clarify some property descriptions.

2009-05-06 21:47:17 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* ext/lame/gstlamemp3enc.c:
	  lame: fix format string in debug statement

2009-05-06 15:37:44 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: Don't reject valid Xing tables of contents
	  Some Xing headers apparently start the TOC at byte 1 instead of 0. Don't
	  reject them because of it, just subtract the initial offset when reading
	  the table.

2009-05-06 15:27:01 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: Allow more bits to change in headers during resynch
	  Be more lenient about what we accept as changing bits in a header - basically,
	  only require that the mp3 sync marker is present, for the mpeg version,
	  layer and samplerate.
	  Fixes: #581464

2009-05-06 13:17:35 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/mad/gstmad.c:
	  mad: Add duration of incoming/outgoing buffers in debug statements

2009-05-06 13:15:30 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: Remove useless checks for valid buffer duration.
	  The buffer duration is set to a valid value at the very top of
	  emit_frame(), we therefore don't need to check it later on.

2009-05-06 13:13:35 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: Fix stop condition for outputting buffers.
	  Some mp3 streams have an offset in timestamps, requiring us to push the
	  frame *AFTER* segment.stop in order for the decoder to be able to push
	  all data up to the segment.stop position.

2009-05-02 16:51:11 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: 0-base timestamps consistently (whether or not streaming)
	  This also makes timestamps (more) consistent before and after a possible
	  seek, and moreover makes for reasonable position reporting in live stream
	  (whose payload timestamps should not be taken for granted).

2009-05-02 13:45:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: report initial latency due to internal preroll queue

2009-05-02 13:44:48 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: enhance debug statement and refactor some initialization

2009-05-02 13:44:11 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: handle FIXME; activate pads after internal preroll also when streaming

2009-05-02 11:12:51 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: handle FIXME; normalize preroll

2009-05-02 16:08:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  asfdemux: fixes for streaming mode
	  * Improve newsegment handling, e.g. upstream might live in TIME.
	  * Only send newsegment if we have needed info.
	  * Avoid reading past end of data section.

2009-05-01 18:08:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: fixes/enhancements for streaming mode
	  * Do not rock the boat by reacting to FLUSH_START.
	  * Try to handle TIME seeking by seeking upstream in BYTES.
	  * Handle SEEKING query.

2009-05-05 16:38:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/lame/gstlamemp3enc.c:
	  lame: fix compilation with LAME versions < 3.98
	  lame_set_VBR_quality(), which takes a floating point value for the
	  quality, has been added only in v3.98. Use lame_set_VBR_q(), which
	  takes quality as an integer, for older LAME versions.
	  Fixes #581341.

2009-05-04 20:39:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/config.h:
	  win32: update config.h to git
	  Until someone ports the new win32 config.h logic from the
	  other modules to -ugly.

2009-05-04 12:53:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	  Update docs

2009-05-04 12:51:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lamemp3enc: Add a note to the encoding-engine-quality property
	  that says, that this does not affect the bitrate at all.

2009-05-04 12:48:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	  lame: Implement preset interface

2009-05-04 12:47:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/twolame/gsttwolame.c:
	  twolame: Implement preset interface

2009-04-30 10:21:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/plugins/gst-plugins-ugly-plugins.args:
	* ext/lame/gstlamemp3enc.c:
	* ext/lame/gstlamemp3enc.h:
	  lamemp3enc: Remove fast-vbr property and rename vbr-quality to quality

2009-04-30 10:16:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	  lame/lamemp3enc: Fix memory leak on FLUSH_STOP

2009-04-30 10:14:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlame.c:
	  lame: Deprecate the lame element

2009-04-30 10:13:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-amrnb.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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-synaesthesia.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	  Update docs

2009-04-30 10:10:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/gstlamemp3enc.c:
	  lame: Update example pipelines with the new properties

2009-04-29 19:01:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/lame/Makefile.am:
	* ext/lame/gstlame.c:
	* ext/lame/gstlamemp3enc.c:
	* ext/lame/gstlamemp3enc.h:
	* ext/lame/plugin.c:
	  lame: Add lamemp3enc element with much simplified interface
	  This deprecates the lame element and fixes bug #494528.

2009-04-23 09:04:41 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/asfpacket.c:
	  asfpacket: Fix pull-mode timestamping handling.
	  The problem that happens is the following:
	  * A packet with multiple payloads comes in
	  * Those payloads get handled one by one
	  * The first payload contains the first audio payload with timestamp A
	  * The second payload contains the first video (key)frame with timestamp V (where V < A)
	  With the previous code, the following would happen:
	  * the first payload gets processed, then passed to queue_for_stream
	  * queue_for_stream detects it's the first valid timestamp received and stores
	  first_ts = A
	  * the second payload gets processed, then pass to queue_for_stream
	  * queue_for_stream detects the timestamp is lower than first_ts... and
	  discards it... resulting in losing the first keyframe of the video stream
	  We've been having this issue for *ages*... it's just that nobody noticed it
	  that much with playbin. But with playbin2's aggresive multiqueue handling, this
	  will result in multiqueue not being able to preroll (because the video decoder will
	  be dropping a ton of buffers before (maybe) receiving the next keyframe).
	  Tested with over 200 asf files, and they all play the first frame correctly now,
	  even the most braindead ones.

2009-04-21 14:12:06 -0700  Michael Smith <msmith@songbirdnest.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstmpegaudioparse.h:
	  mp3parse: don't build seek table if we can't seek.
	  Fixes #573720 - unbounded memory usage increase when listening to mp3
	  stream for a long time.

2009-04-21 22:13:32 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From b3941ea to 6ab11d1

2009-04-21 20:17:57 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstxingmux.c:
	  mpegaudioparse: Remove dead assignment and duplicate code

2009-04-21 20:21:11 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Actually return the return value for the seek handling.

2009-04-21 20:20:02 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/mpegstream/gstmpegdemux.c:
	* gst/mpegstream/gstmpegparse.c:
	  mpegstream: Remove dead assignments.
	  The duplicate assignment of update_time was weird... but it seems normal
	  that it's indeed the second statement which is the valid one.

2009-04-21 20:17:19 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/amrnb/amrnbparse.c:
	  armnb: Remove unused variable, adapt debug message accordingly.

2009-04-21 20:15:56 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/dvdsub/gstdvdsubdec.c:
	* gst/mpegstream/gstdvddemux.c:
	* gst/mpegstream/gstmpegclock.c:
	  dvdsub/mpegstream: _class_init: Remove unused class variables

2009-04-19 14:03:58 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Initialize flow for a corner case.
	  This might be caused by entering the if() line 1214 and then not having
	  any activated_streams.. resulting in reaching line 1267 without having
	  any valid flow value.

2009-04-19 14:03:38 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/twolame/gsttwolame.c:
	  twolame: Remove unneeded variable, value assigned was never read.

2009-04-19 14:03:19 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	  mpeg2dec: Remove dead assignment. Value overwritten later on.

2009-04-19 14:02:44 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/mad/gstmad.c:
	  mad: Remove dead assignment and variables given values which are never read.

2009-04-19 14:02:03 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/lame/gstlame.c:
	  lame: Remove unneeded variable, it's assigned a value never read.

2009-04-19 13:59:24 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Remove dead assignment, value is being overwritten before being read.

2009-04-19 13:58:31 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Remove unused accurate flag.
	  I couldn't see any reason why this was there in the first place.

2009-04-19 13:57:59 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/realmedia/asmrules.c:
	* gst/realmedia/rdtdepay.c:
	  realmedia: Remove dead assignments. The results are never read.

2009-04-19 13:57:10 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/realmedia/gstrdtbuffer.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtmanager.c:
	* gst/realmedia/rmdemux.c:
	  realmedia: Remove useless variables, only being used once (or not).

2009-04-19 13:55:24 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/mpeg2dec/gstmpeg2dec.c:
	* gst/asfdemux/gstrtspwms.c:
	* gst/realmedia/pnmsrc.c:
	* gst/realmedia/rdtdepay.c:
	* gst/realmedia/rtspreal.c:
	  remove empty method implementations.

2009-04-18 08:12:08 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/asfdemux/gstrtspwms.c:
	  rtspwms: fix condition to detect extension commands for WMS
	  Reply with OK to the extension commands for WMS.

2009-04-15 11:09:56 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/realmedia/rtspreal.c:
	  realmedia: add special Real header to DESCRIBE message only for Real servers
	  Add headers that are specific to real only if a real server had been
	  detected by the OPTIONS message.

2009-04-14 19:16:46 +0200  David Hoyt <dhoyt at llnl.gov>

	* gst/synaesthesia/synaescope.c:
	  synaesthesia: fix compilation on windows
	  Fix compilation under MSVC due to references to headers
	  that are not available with the MS SDKs.
	  Fixes #578524

2009-04-14 10:54:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtspwms.c:
	  rtspwms: reply to extension commands
	  Reply with OK to the extension commands for WMS.

2009-04-14 10:53:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstrtpasfdepay.c:
	  asfdepay: fix a comment

2009-04-14 10:53:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: add some more debugging

2009-04-14 10:51:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  configure.ac: require git -base
	  We require 0.10.22.1 of -base for the new Match-If and ETag headers in RTSP.

2009-04-09 20:21:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/realmedia/rtspreal.c:
	  realmedia: add special Real header to SETUP message only for Real servers
	  Fixes playback of Windows Media RTSP streams and other non-Real RTSP
	  streams where the server errors out because it can't handle the
	  Real-specific 'Required: com.real.retain-entity-for-setup' header
	  we've been adding unconditionally in the recent past.
	  For reference:
	  rtsp://66.111.34.191:601/broadcast/alnour.rm
	  rtsp://195.134.224.231/snowboard_100.wmv

2009-04-08 11:44:53 -0700  Michael Smith <msmith@songbirdnest.com>

	* configure.ac:
	* gst/asfdemux/Makefile.am:
	  asfdemux: link to all required libraries including indirectly used ones.
	  On win32, we're required to link to all the libraries used - including
	  ones only indirectly used by other libs. So, add gstaudio, gsttag, and
	  (for windows only) winsock.

2009-04-04 21:19:23 +0300  Felipe Contreras <felipe.contreras@gmail.com>

	* common:
	  Automatic update of common submodule
	  From d0ea89e to b3941ea

2009-04-04 14:54:41 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From f8b3d91 to d0ea89e

2009-03-26 20:23:14 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  dvdlpcmdec: Fix factory klass, It's a 'Decoder', not a 'Demuxer'.

2009-03-25 16:39:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rtspreal.c:
	* gst/realmedia/rtspreal.h:
	  realrtsp: add more headers
	  Parse the ETag from the describe method and pass the sessionid as the value for
	  the If-Match header is subsequent setup calls.
	  Fixes support for more RealMedia RTSP streams.

2009-03-22 13:08:48 -0700  David Schleef <ds@schleef.org>

	* configure.ac:
	  twolame: bump requirement to 0.3.10
	  0.3.10 is the first version with the float32 encoder functions.
	  Fixes #576305.

2009-03-22 20:15:24 +0000  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	  back to development -> 0.10.11.1

=== release 0.10.11 ===

2009-03-21 01:05:22 +0000  Jan Schmidt <thaytan@noraisin.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-a52dec.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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* gst-plugins-ugly.doap:
	* po/cs.po:
	* win32/common/config.h:
	  Release 0.10.11

2009-03-21 00:28:29 +0000  Jan Schmidt <thaytan@noraisin.net>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/en_GB.po:
	* po/es.po:
	* po/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/mt.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ru.po:
	* po/sk.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

2009-03-13 16:45:08 +0000  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	* win32/common/config.h:
	  0.10.10.3 pre-release

2009-03-13 16:40:38 +0000  Jan Schmidt <thaytan@noraisin.net>

	* po/fi.po:
	* po/id.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/sv.po:
	  po: Update translations from upstream

2009-03-13 16:38:08 +0000  Jan Schmidt <thaytan@noraisin.net>

	* po/LINGUAS:
	* po/tr.po:
	  po: Add Turkish translation

2009-03-13 19:23:12 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstmpegaudioparse.h:
	  mp3parse: Fix glitches in the output when playing (for e.g.) AVI
	  Don't introduce glitches in the output by a) relaxing the threshold for
	  taking upstream timestamps in preference to our calculated timestamps and
	  b) only set the discont flag on outgoing buffers in response to an incoming
	  discont buffer.
	  Fixes: #575046

2009-03-12 15:57:31 +0100  Alessandro Decina <alessandro.decina@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: fix deadlock with accurate seeks.
	  Release pending_accurate_seeks_lock before forwarding the seek event upstream.
	  Fixes #575068.

2009-03-10 00:22:35 +0000  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/en_GB.po:
	* po/es.po:
	* po/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/lt.po:
	* po/mt.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ru.po:
	* po/sk.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	* win32/common/config.h:
	  0.10.10.2 pre-release
	  Bump version number, update translations and win32 config.h

2009-03-10 00:19:01 +0000  Jan Schmidt <thaytan@noraisin.net>

	* po/LINGUAS:
	* po/ja.po:
	  po: Add Japanese translation

2009-03-10 00:10:20 +0000  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* docs/plugins/inspect/plugin-a52dec.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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* docs/plugins/inspect/plugin-synaesthesia.xml:
	* docs/plugins/inspect/plugin-twolame.xml:
	* ext/Makefile.am:
	* po/POTFILES.in:
	  Moved twolame from Bad to Ugly

2008-11-04 12:42:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD] Don't install static libs for plugins. Fixes #550851 for -bad.
	  Original commit message from CVS:
	  * ext/alsaspdif/Makefile.am:
	  * ext/amrwb/Makefile.am:
	  * ext/apexsink/Makefile.am:
	  * ext/arts/Makefile.am:
	  * ext/artsd/Makefile.am:
	  * ext/audiofile/Makefile.am:
	  * ext/audioresample/Makefile.am:
	  * ext/bz2/Makefile.am:
	  * ext/cdaudio/Makefile.am:
	  * ext/celt/Makefile.am:
	  * ext/dc1394/Makefile.am:
	  * ext/dirac/Makefile.am:
	  * ext/directfb/Makefile.am:
	  * ext/divx/Makefile.am:
	  * ext/dts/Makefile.am:
	  * ext/faac/Makefile.am:
	  * ext/faad/Makefile.am:
	  * ext/gsm/Makefile.am:
	  * ext/hermes/Makefile.am:
	  * ext/ivorbis/Makefile.am:
	  * ext/jack/Makefile.am:
	  * ext/jp2k/Makefile.am:
	  * ext/ladspa/Makefile.am:
	  * ext/lcs/Makefile.am:
	  * ext/libfame/Makefile.am:
	  * ext/libmms/Makefile.am:
	  * ext/metadata/Makefile.am:
	  * ext/mpeg2enc/Makefile.am:
	  * ext/mplex/Makefile.am:
	  * ext/musepack/Makefile.am:
	  * ext/musicbrainz/Makefile.am:
	  * ext/mythtv/Makefile.am:
	  * ext/nas/Makefile.am:
	  * ext/neon/Makefile.am:
	  * ext/ofa/Makefile.am:
	  * ext/polyp/Makefile.am:
	  * ext/resindvd/Makefile.am:
	  * ext/sdl/Makefile.am:
	  * ext/shout/Makefile.am:
	  * ext/snapshot/Makefile.am:
	  * ext/sndfile/Makefile.am:
	  * ext/soundtouch/Makefile.am:
	  * ext/spc/Makefile.am:
	  * ext/swfdec/Makefile.am:
	  * ext/tarkin/Makefile.am:
	  * ext/theora/Makefile.am:
	  * ext/timidity/Makefile.am:
	  * ext/twolame/Makefile.am:
	  * ext/x264/Makefile.am:
	  * ext/xine/Makefile.am:
	  * ext/xvid/Makefile.am:
	  * gst-libs/gst/app/Makefile.am:
	  * gst-libs/gst/dshow/Makefile.am:
	  * gst/aiffparse/Makefile.am:
	  * gst/app/Makefile.am:
	  * gst/audiobuffer/Makefile.am:
	  * gst/bayer/Makefile.am:
	  * gst/cdxaparse/Makefile.am:
	  * gst/chart/Makefile.am:
	  * gst/colorspace/Makefile.am:
	  * gst/dccp/Makefile.am:
	  * gst/deinterlace/Makefile.am:
	  * gst/deinterlace2/Makefile.am:
	  * gst/dvdspu/Makefile.am:
	  * gst/festival/Makefile.am:
	  * gst/filter/Makefile.am:
	  * gst/flacparse/Makefile.am:
	  * gst/flv/Makefile.am:
	  * gst/games/Makefile.am:
	  * gst/h264parse/Makefile.am:
	  * gst/librfb/Makefile.am:
	  * gst/mixmatrix/Makefile.am:
	  * gst/modplug/Makefile.am:
	  * gst/mpeg1sys/Makefile.am:
	  * gst/mpeg4videoparse/Makefile.am:
	  * gst/mpegdemux/Makefile.am:
	  * gst/mpegtsmux/Makefile.am:
	  * gst/mpegvideoparse/Makefile.am:
	  * gst/mve/Makefile.am:
	  * gst/nsf/Makefile.am:
	  * gst/nuvdemux/Makefile.am:
	  * gst/overlay/Makefile.am:
	  * gst/passthrough/Makefile.am:
	  * gst/pcapparse/Makefile.am:
	  * gst/playondemand/Makefile.am:
	  * gst/rawparse/Makefile.am:
	  * gst/real/Makefile.am:
	  * gst/rtjpeg/Makefile.am:
	  * gst/rtpmanager/Makefile.am:
	  * gst/scaletempo/Makefile.am:
	  * gst/sdp/Makefile.am:
	  * gst/selector/Makefile.am:
	  * gst/smooth/Makefile.am:
	  * gst/smoothwave/Makefile.am:
	  * gst/speed/Makefile.am:
	  * gst/speexresample/Makefile.am:
	  * gst/stereo/Makefile.am:
	  * gst/subenc/Makefile.am:
	  * gst/tta/Makefile.am:
	  * gst/vbidec/Makefile.am:
	  * gst/videodrop/Makefile.am:
	  * gst/videosignal/Makefile.am:
	  * gst/virtualdub/Makefile.am:
	  * gst/vmnc/Makefile.am:
	  * gst/y4m/Makefile.am:
	  * sys/acmenc/Makefile.am:
	  * sys/cdrom/Makefile.am:
	  * sys/dshowdecwrapper/Makefile.am:
	  * sys/dshowsrcwrapper/Makefile.am:
	  * sys/dvb/Makefile.am:
	  * sys/dxr3/Makefile.am:
	  * sys/fbdev/Makefile.am:
	  * sys/oss4/Makefile.am:
	  * sys/qcam/Makefile.am:
	  * sys/qtwrapper/Makefile.am:
	  * sys/vcd/Makefile.am:
	  * sys/wininet/Makefile.am:
	  * win32/common/config.h:
	  Don't install static libs for plugins. Fixes #550851 for -bad.

2008-09-02 09:56:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  [MOVED FROM BAD] Enable/fix up translations for these plugins.
	  Original commit message from CVS:
	  * ext/resindvd/plugin.c: (plugin_init):
	  * ext/resindvd/resindvdsrc.c:
	  * ext/twolame/gsttwolame.c: (plugin_init):
	  * gst/aiffparse/aiffparse.c: (plugin_init):
	  Enable/fix up translations for these plugins.
	  * po/LINGUAS:
	  Add 'ca' to LINGUAS.
	  * po/POTFILES.in:
	  * po/POTFILES.skip:
	  Add more files for translation and more files which tools
	  should skip.

2008-08-07 14:34:03 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  [MOVED FROM BAD] ext/twolame/gsttwolame.*: Allow raw float samples as input for encoding.
	  Original commit message from CVS:
	  * ext/twolame/gsttwolame.c: (gst_two_lame_sink_setcaps),
	  (gst_two_lame_chain):
	  * ext/twolame/gsttwolame.h:
	  Allow raw float samples as input for encoding.

2008-08-02 17:39:13 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  [MOVED FROM BAD] Add TwoLAME MP2 encoding element, based on the LAME element.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/Makefile.am:
	  * ext/twolame/Makefile.am:
	  * ext/twolame/gsttwolame.c: (gst_two_lame_mode_get_type),
	  (gst_two_lame_padding_get_type), (gst_two_lame_emphasis_get_type),
	  (gst_two_lame_release_memory), (gst_two_lame_finalize),
	  (gst_two_lame_base_init), (gst_two_lame_class_init),
	  (gst_two_lame_src_setcaps), (gst_two_lame_sink_setcaps),
	  (gst_two_lame_init), (gst_two_lame_set_property),
	  (gst_two_lame_get_property), (gst_two_lame_sink_event),
	  (gst_two_lame_chain), (gst_two_lame_setup),
	  (gst_two_lame_change_state), (gst_two_lame_get_default_settings),
	  (plugin_init):
	  * ext/twolame/gsttwolame.h:
	  Add TwoLAME MP2 encoding element, based on the LAME element.

2009-03-09 23:13:20 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 7032163 to f8b3d91

2009-03-08 12:05:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From ffa738d to 7032163

2009-03-08 11:21:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 3f13e4e to ffa738d

2009-03-07 11:47:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 3c7456b to 3f13e4e

2009-03-07 10:47:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 57c83f2 to 3c7456b

2009-03-06 12:30:36 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: be more conservative when changing layer/rate/etc.
	  Don't allow a change in sample rate/channels/layer/version unless we can
	  see another frame at the correct offset. Prevents accidently flipping
	  due to simple single-bit corruption.

2009-03-04 16:52:59 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst/realmedia/realhash.c:
	  rmdemux: Fix strict-aliasing warnings.
	  Use existing GST_READ_UINT32 and GST_WRITE_UINT32 macros instead of
	  hand-rolled ones.

2009-03-04 16:15:00 +0200  René Stadler <mail@renestadler.de>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: Remove empty lines added by buggy indent.

2009-02-27 13:41:58 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mpegaudioparse: Provide SEEKING query handling.
	  Since SEEK event handling might perform some conversion
	  from TIME to BYTES, do not let upstream fool application
	  into (TIME) seeking not being possible.

2009-02-25 13:34:05 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/mpegaudioparse/gstmpegaudioparse.c:
	  mp3parse: fix accurate seeks to near 0
	  Integer underflow made accurate seeks to near zero fail and seek to
	  completely the wrong place. Fix by clamping to zero, since we can't seek
	  to negative times anyway.

2009-02-25 20:52:08 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	* configure.ac:
	  build: Update shave init statement for changes in common. Bump common.

2009-02-25 18:19:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rtspreal.c:
	  rtspreal: ignore data streams. Fixes #527112
	  Ignore data streams when parsing the SDP as they don't contain anything we need
	  to put in the realmedia header.

2009-02-25 11:32:37 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 9cf8c9b to a6ce5c6

2009-02-24 15:25:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/mad/gstid3tag.c:
	  Forward unknown events
	  Forward unknown events upstream instead of dropping them. Also return the result
	  of the seek event instead of a fixed value.

2009-02-23 10:50:50 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/asfdemux/gstrtpasfdepay.c:
	  rtpasfdepay: Fix the build by adding the needed include for atoi.

2009-02-22 19:19:12 +0000  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	* docs/plugins/Makefile.am:
	  Use shave for the build output

2009-02-22 16:00:02 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 5d7c9cc to 9cf8c9b

2009-02-22 14:22:30 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/asfdemux/gstasf.c:
	* gst/asfdemux/gstrtpasfdepay.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rdtdepay.c:
	* gst/synaesthesia/gstsynaesthesia.c:
	* gst/synaesthesia/synaescope.c:
	  Fix indentation.

2009-02-22 14:21:22 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/realmedia/pnmsrc.c:
	  pnmsrc: Error out gracefully if location is NULL. Run gst-indent

2009-02-21 11:13:55 -0800  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 80c627d to 5d7c9cc

2009-02-20 15:53:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/Makefile.am:
	* gst/realmedia/pnmsrc.c:
	* gst/realmedia/pnmsrc.h:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rademux.h:
	* gst/realmedia/realmedia.c:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmdemux.h:
	  Add pnm:// uri source
	  Add a new utri handler for pnm:// that for now just redirects to the same uri
	  with the rtsp:// protocol, which usually works nowadays.
	  Separate the registration of the various plugins into a separate source file.

2009-02-20 13:48:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/asfdemux/Makefile.am:
	* gst/asfdemux/gstasf.c:
	* gst/asfdemux/gstrtpasfdepay.c:
	* gst/asfdemux/gstrtpasfdepay.h:
	  Add ASF depayloader
	  Add ASF depayloader based on latest public MicroSoft docs (MS-RTSP).
	  Fixes #335067.

2009-02-19 19:10:53 +0000  Zaheer Merali <zaheerabbas@merali.org>

	* ext/mad/gstmad.c:
	  mad: remove log line added in error

2009-02-19 19:08:10 +0000  Zaheer Merali <zaheerabbas@merali.org>

	* ext/mad/gstmad.c:
	  mad: just flush data when seeing BADDATAPTR instead of going into error state

2009-02-18 12:55:16 +0100  Roland Moser <rmoser@gmx.at>

	* gst/realmedia/rmdemux.c:
	  Fix parsing of the flags in rmdemux
	  Fix parsing of the flags in version 1 realmedia streams.
	  Fixes #571358.

2009-02-09 12:03:15 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Bump revision to use for common submodule.

2009-01-30 22:27:05 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  Add releaseinfo with online url.

2009-01-30 17:34:27 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Bump common

2009-01-30 14:35:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  Remove redundant push_mode struct member

2009-01-30 09:04:46 +0100  Edward Hervey <bilboed@bilboed.com>

	* autogen.sh:
	  Fix previous commit, wasn't actually setting up a symbolic link

2009-01-30 08:56:33 +0100  Edward Hervey <bilboed@bilboed.com>

	* autogen.sh:
	* common:
	  Use a symbolic link for the pre-commit client-side hook

2009-01-30 08:56:24 +0100  Edward Hervey <bilboed@bilboed.com>

	* .gitignore:
	  Ignore some more files

2009-01-26 22:40:10 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/synaesthesia/synaescope.c:
	* gst/synaesthesia/synaescope.h:
	  Precalculate some size dependent variables. Demystify the height scaling a bit.
	  Adds more comments to the code about the height scaling. RIght now only certain heights are screen filling.

2009-01-26 21:26:46 +0200  Stefan Kost <ensonic@users.sf.net>

	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-ugly

2009-01-26 20:12:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/rdtdepay.c:
	  Set flags on the realmedia chunks
	  Set the keyframe flags from the RDT packet to the realmedia chunk so that the
	  descrambler can be reset on keyframes. Fixes #556714.

2009-01-26 20:10:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/realmedia/gstrdtbuffer.c:
	* gst/realmedia/gstrdtbuffer.h:
	  Add method to get RDT flags
	  Add a method to get the RDT flags. We need these flags to mark keyframes to
	  reset the descrambing queue. See #556714.

2009-01-26 10:00:57 +0100  Hans de Goede <jwrdegoede@fedoraproject.org>

	* gst/asfdemux/asfpacket.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	  Add seeking support to asfdemux in push mode
	  Fixes bug #568836.

2009-01-26 09:57:26 +0100  Hans de Goede <jwrdegoede@fedoraproject.org>

	* gst/asfdemux/asfpacket.c:
	  Drop packets with an invalid replicated data length
	  Drop packets with an invalid replicated data length
	  instead of continuing with an invalid timestamp
	  and uninitialized payload metadata.
	  All other code assumes that the timestamps are valid.

2009-01-25 22:31:52 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/synaesthesia/synaescope.h:
	  Change comment to refer to right variable.

2009-01-24 23:27:08 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/synaesthesia/gstsynaesthesia.c:
	* gst/synaesthesia/gstsynaesthesia.h:
	* gst/synaesthesia/synaescope.c:
	* gst/synaesthesia/synaescope.h:
	  Bring synaesthesia to next century.
	  Do proper size negotiation. Change engine API to allow resizes. Small cleanups elsewhere.

2009-01-23 17:51:00 -0800  David Schleef <ds@schleef.org>

	* gst/asfdemux/gstasfdemux.c:
	  Fix leak of converted string

2009-01-23 23:44:01 +0000  Jan Schmidt <thaytan@noraisin.net>

	* .gitignore:
	* po/.gitignore:
	  Add more to the gitignores

2009-01-23 23:59:38 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/synaesthesia/gstsynaesthesia.c:
	  Make synaesthesia build again.
	  _init() has no params.

2009-01-22 18:15:36 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Update common snapshot.

2009-01-22 13:50:09 +0100  Sebastian Dröge <slomo@circular-chaos.org>

	* common:
	  Fix pre-commit hook

2009-01-22 06:14:31 +0100  Edward Hervey <bilboed@bilboed.com>

	* autogen.sh:
	* common:
	  Install and use pre-commit indentation hook from common

2009-01-21 04:32:33 +0100  Edward Hervey <bilboed@bilboed.com>

	* autogen.sh:
	  autogen.sh : Use git submodule

2009-01-08 08:19:25 +0000  Yves Lefebvre <ivanohe@abacom.com>

	  gst/mpegstream/: Fix some caps leaks. Fixes bug #564885.
	  Original commit message from CVS:
	  Patch by: Yves Lefebvre <ivanohe at abacom dot com>
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_video_stream),
	  (gst_dvd_demux_get_audio_stream),
	  (gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_reset):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_init_stream),
	  (gst_mpeg_demux_get_video_stream),
	  (gst_mpeg_demux_get_audio_stream), (gst_mpeg_demux_reset):
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_chain):
	  Fix some caps leaks. Fixes bug #564885.

2009-01-02 00:43:53 +0000  Alessandro Decina <alessandro.d@gmail.com>

	  ext/cdio/gstcdio.c: Remove unused format argument.
	  Original commit message from CVS:
	  * ext/cdio/gstcdio.c:
	  Remove unused format argument.

2008-12-13 20:41:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  win32/common/: Hardcode cpu for win32 build, just like we do in the other modules, to remove VCS conflicts and incons...
	  Original commit message from CVS:
	  * win32/common/.cvsignore:
	  * win32/common/config.h:
	  * win32/common/config.h.in:
	  Hardcode cpu for win32 build, just like we do in the other modules,
	  to remove VCS conflicts and inconsistent defines between modules,
	  and update version defines to CVS.

2008-12-13 16:29:38 +0000  Edward Hervey <bilboed@bilboed.com>

	  m4/Makefile.am: Removed two more .m4 that aren't shipped with gettext 0.17 anymore.
	  Original commit message from CVS:
	  * m4/Makefile.am:
	  Removed two more .m4 that aren't shipped with gettext 0.17 anymore.

2008-12-13 13:01:49 +0000  Edward Hervey <bilboed@bilboed.com>

	  m4/Makefile.am: inttypes.m4 hasn't been available since gettext-0.15, and since we now require gettext >= 0.17 ... we...
	  Original commit message from CVS:
	  * m4/Makefile.am:
	  inttypes.m4 hasn't been available since gettext-0.15, and since we now
	  require gettext >= 0.17 ... we can remove it from the list of files to
	  dist.

2008-12-10 15:42:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Do an initial class_ref on an internal enum type from within the class_init f...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (channel_mode_class),
	  (GST_TYPE_MP3_CHANNEL_MODE), (mp3_type_frame_length_from_header),
	  (gst_mp3parse_emit_frame), (mp3parse_get_query_types):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Do an initial class_ref on an internal enum type from within the
	  class_init function so that there aren't any issues when multiple
	  mp3parse elements are started in separate threads at the same
	  time. (Why we use an enum type here if the tag is registered as
	  a string type, I don't know). Also remove custom UNUSED macro
	  and use GLib's instead.

2008-12-04 20:11:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: Apparently AC_CONFIG_MACRO_DIR breaks when using more than one macro directory, reverting last change.
	  Original commit message from CVS:
	  * configure.ac:
	  Apparently AC_CONFIG_MACRO_DIR breaks when using more
	  than one macro directory, reverting last change.

2008-12-04 19:48:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to our M4 macros.
	  Original commit message from CVS:
	  * configure.ac:
	  Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
	  our M4 macros.

2008-12-01 14:39:34 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/mpeg2dec/gstmpeg2dec.c: Last change introduced a regression that made mpeg2dec handle some 4:2:2 videos as 4:4:4....
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
	  Last change introduced a regression that made mpeg2dec handle
	  some 4:2:2 videos as 4:4:4. Fixes bug #562086.

2008-11-29 13:33:37 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Require gettext 0.17 because older versions don't mix with libtool 2.2. At build time an older gettext version will s...
	  Original commit message from CVS:
	  Patch by: Cygwin Ports maintainer
	  <yselkowitz at users dot sourceforge dot net>
	  * autogen.sh:
	  * configure.ac:
	  Require gettext 0.17 because older versions don't mix with libtool
	  2.2. At build time an older gettext version will still work.
	  Fixes bug #556091.

2008-11-25 03:44:06 +0000  David Schleef <ds@schleef.org>

	  ext/mpeg2dec/gstmpeg2dec.*: Add support for 4:4:4 video.  Fixes #562086
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c:
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Add support for 4:4:4 video.  Fixes #562086

2008-11-24 09:51:39 +0000  Simon Holm Thøgersen <odie@cs.aau.dk>

	  ext/mpeg2dec/gstmpeg2dec.c: Add support for the STATE_SEQUENCE_MODIFIED state in mpeg2dec >= 0.5.0. Fixes bug #562065.
	  Original commit message from CVS:
	  Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_chain):
	  Add support for the STATE_SEQUENCE_MODIFIED state in mpeg2dec
	  >= 0.5.0. Fixes bug #562065.

2008-11-20 21:31:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/asfdemux/gstasfdemux.c: Remove duplicate and broken code for the streaming case and simply reuse the much better ...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_chain):
	  Remove duplicate and broken code for the streaming case and simply reuse
	  the much better working pull based code. Fixes #560348.

2008-11-20 20:42:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Back to development -> 0.10.10.1
	  Original commit message from CVS:
	  * configure.ac:
	  Back to development -> 0.10.10.1

=== release 0.10.10 ===

2008-11-19 14:30:44 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-a52dec.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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* gst-plugins-ugly.doap:
	* po/LINGUAS:
	  Release 0.10.10 - "Under the House"
	  Original commit message from CVS:
	  Release 0.10.10 - "Under the House"

2008-11-19 13:59:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* po/bg.po:
	* po/ca.po:
	* po/da.po:
	* po/id.po:
	* po/it.po:
	* po/mt.po:
	* po/vi.po:
	  Update .po files
	  Original commit message from CVS:
	  Update .po files

2008-11-17 09:53:39 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/sidplay/Makefile.am: Use GST_CXXFLAGS for C++ code instead of GST_CFLAGS. The latter could contain CFLAGS that do...
	  Original commit message from CVS:
	  * ext/sidplay/Makefile.am:
	  Use GST_CXXFLAGS for C++ code instead of GST_CFLAGS. The latter could
	  contain CFLAGS that do not exist for C++, like -Wvla or
	  -Wdeclaration-after-statement. Fixes bug #561161.

2008-11-12 23:19:55 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: 0.10.9.3 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  0.10.9.3 pre-release

2008-11-11 17:14:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/asfdemux/gstasfdemux.c: Only copy sane aspect ratio values on the caps. Fixes #559682.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream):
	  Only copy sane aspect ratio values on the caps. Fixes #559682.

2008-11-06 13:29:37 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	* ChangeLog:
	  Add bug number to the mp3parse mpeg 2.5 fix
	  Original commit message from CVS:
	  Add bug number to the mp3parse mpeg 2.5 fix

2008-11-05 11:03:07 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/amrnb/amrnbdec.*: Add a property to select the amr variant. Fixes #424070.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c: (gst_amrnb_variant_get_type),
	  (gst_amrnbdec_class_init), (gst_amrnbdec_set_property),
	  (gst_amrnbdec_get_property), (gst_amrnbdec_chain):
	  * ext/amrnb/amrnbdec.h:
	  Add a property to select the amr variant. Fixes #424070.

2008-11-03 11:31:49 +0000  Tal Shalif <tshalif@nargila.org>

	  gst/mpegstream/: Fix memmory corruption due to not storing the new updated pointer after a g_renew(). Fixes #558896.
	  Original commit message from CVS:
	  Patch by: Tal Shalif <tshalif at nargila dot org>
	  * gst/mpegstream/gstdvddemux.c:
	  (gst_dvd_demux_get_subpicture_stream):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream),
	  (gst_mpeg_demux_get_audio_stream):
	  Fix memmory corruption due to not storing the new updated pointer
	  after a g_renew(). Fixes #558896.

2008-10-30 14:50:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/Makefile.am: Blacklist cdiocddasrc from state-change tests. Fixes #558277.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Blacklist cdiocddasrc from state-change tests. Fixes #558277.

2008-10-24 20:44:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: oops, forgot to bump the version back to devel after the last release 0.10.9.1
	  Original commit message from CVS:
	  * configure.ac:
	  oops, forgot to bump the version back to devel
	  after the last release 0.10.9.1

2008-10-24 12:47:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rmdemux.c: Add suport for mpeg4 and aac audio. See #556714.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
	  (gst_rmdemux_descramble_mp4a_audio),
	  (gst_rmdemux_handle_scrambled_packet):
	  Add suport for mpeg4 and aac audio. See #556714.

2008-10-14 19:28:05 +0000  Michael Smith <msmith@xiph.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Calculate samples per frame correctly for "MPEG 2.5" layer 3.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  Calculate samples per frame correctly for "MPEG 2.5" layer 3.
	  Fixes skipping on these files.

2008-10-14 12:51:41 +0000  Robin Stocker <robin@nibor.org>

	  ext/mpeg2dec/gstmpeg2dec.*: Prefer the container's PAR over the stream's PAR if it's given in the srcpad caps. Fixes ...
	  Original commit message from CVS:
	  Patch by: Robin Stocker <robin at nibor dot org>
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
	  (handle_sequence), (gst_mpeg2dec_setcaps):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Prefer the container's PAR over the stream's PAR if it's
	  given in the srcpad caps. Fixes bug #556184.

2008-10-13 18:10:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Don't install static libs for plugins. Fixes #550851 for ugly.
	  Original commit message from CVS:
	  * ext/a52dec/Makefile.am:
	  * ext/amrnb/Makefile.am:
	  * ext/cdio/Makefile.am:
	  * ext/dvdnav/Makefile.am:
	  * ext/dvdread/Makefile.am:
	  * ext/lame/Makefile.am:
	  * ext/mad/Makefile.am:
	  * ext/mpeg2dec/Makefile.am:
	  * ext/sidplay/Makefile.am:
	  * gst/ac3parse/Makefile.am:
	  * gst/asfdemux/Makefile.am:
	  * gst/dvdlpcmdec/Makefile.am:
	  * gst/dvdsub/Makefile.am:
	  * gst/iec958/Makefile.am:
	  * gst/mpegaudioparse/Makefile.am:
	  * gst/mpegstream/Makefile.am:
	  * gst/realmedia/Makefile.am:
	  * gst/synaesthesia/Makefile.am:
	  Don't install static libs for plugins. Fixes #550851 for ugly.

2008-10-13 09:04:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Post a GST_ELEMENT_ERROR if we get EOS before seeing any valid frames. Partia...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event):
	  Post a GST_ELEMENT_ERROR if we get EOS before seeing any valid
	  frames. Partially fixes bug #552237.

2008-10-09 09:23:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/amrnb/amrnbparse.c: use #defines for HEADER. Unref the object in _sink_activate_pull().
	  Original commit message from CVS:
	  * ext/amrnb/amrnbparse.c:
	  use #defines for HEADER. Unref the object in _sink_activate_pull().

2008-10-08 13:59:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mad/gstmad.*: track discont on incomming buffers and set discont on outgoing buffers.
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_src_event), (gst_mad_chain),
	  (gst_mad_change_state):
	  * ext/mad/gstmad.h:
	  track discont on incomming buffers and set discont on outgoing
	  buffers.
	  Pass unknown events upstreams instead of dropping them.

2008-09-28 17:33:43 +0000  Sameer Naik <sameer.subscriptions@damagehead.com>

	  ext/mpeg2dec/gstmpeg2dec.*: Fix compilation with --disable-index. Fixes bug #554150.
	  Original commit message from CVS:
	  Patch by: Sameer Naik <sameer dot subscriptions at damagehead dot com>
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_class_init),
	  (handle_slice), (gst_mpeg2dec_sink_event),
	  (gst_mpeg2dec_src_event):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Fix compilation with --disable-index. Fixes bug #554150.

2008-09-28 17:31:37 +0000  Sameer Naik <sameer.subscriptions@damagehead.com>

	  ext/mad/gstmad.*: Fix compilation with --disable-index. Fixes bug #554142.
	  Original commit message from CVS:
	  Patch by: Sameer Naik <sameer dot subscriptions at damagehead dot com>
	  * ext/mad/gstmad.c: (gst_mad_class_init), (gst_mad_dispose),
	  (gst_mad_src_event), (gst_mad_chain):
	  * ext/mad/gstmad.h:
	  Fix compilation with --disable-index. Fixes bug #554142.

2008-09-27 00:20:48 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  ext/a52dec/gsta52dec.*: Fix channel re-negotiation on a change of the incoming stream.
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c:
	  * ext/a52dec/gsta52dec.h:
	  Fix channel re-negotiation on a change of the incoming stream.
	  Patch By: Thijs Vermeir <thijsvermeir@gmail.com>
	  Fixes: #551660

2008-09-26 14:39:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/amrnb/amrnbenc.*: Pass the discont flag from the input buffer on to the output buffer in the AMR encoder.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_chain),
	  (gst_amrnbenc_state_change):
	  * ext/amrnb/amrnbenc.h:
	  Pass the discont flag from the input buffer on to the output buffer in
	  the AMR encoder.

2008-09-26 10:04:35 +0000  Benoit Fouet <benoit.fouet@purplelabs.com>

	  ext/amrnb/amrnbparse.*: Add flush seek handler. Fixes #536274.
	  Original commit message from CVS:
	  Patch by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_init),
	  (gst_amrnbparse_handle_pull_seek),
	  (gst_amrnbparse_handle_push_seek), (gst_amrnbparse_src_event),
	  (gst_amrnbparse_sink_activate_push),
	  (gst_amrnbparse_sink_activate_pull):
	  * ext/amrnb/amrnbparse.h:
	  Add flush seek handler. Fixes #536274.

2008-09-26 09:57:02 +0000  Benoit Fouet <benoit.fouet@purplelabs.com>

	  ext/amrnb/amrnbparse.*: Fix the duration query. Fixes #536226.
	  Original commit message from CVS:
	  Patch by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_query),
	  (gst_amrnbparse_chain), (gst_amrnbparse_loop),
	  (gst_amrnbparse_state_change):
	  * ext/amrnb/amrnbparse.h:
	  Fix the duration query. Fixes #536226.
	  Also set caps on the pads and buffers more correctly.

2008-09-02 09:43:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  po/LINGUAS: Add 'ca' to LINGUAS.
	  Original commit message from CVS:
	  * po/LINGUAS:
	  Add 'ca' to LINGUAS.

2008-08-28 09:57:30 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/asfdemux/gstasfdemux.c: Fix aggregated GST_FLOW_RETURN check for when to send an error message on the bus.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_loop):
	  Fix aggregated GST_FLOW_RETURN check for when to send an error message
	  on the bus.
	  Re-fixes #546859

2008-08-27 15:55:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rdtdepay.*: Parse other values from the incomming caps.
	  Original commit message from CVS:
	  * gst/realmedia/rdtdepay.c: (gst_rdt_depay_init),
	  (gst_rdt_depay_setcaps), (gst_rdt_depay_sink_event),
	  (create_segment_event), (gst_rdt_depay_push),
	  (gst_rdt_depay_handle_data), (gst_rdt_depay_change_state):
	  * gst/realmedia/rdtdepay.h:
	  Parse other values from the incomming caps.
	  Add event handler to handle flushing and segments.
	  Create segment events.
	  * gst/realmedia/rdtjitterbuffer.c: (rdt_jitter_buffer_insert):
	  Do skew correction based on RDT timestamps.
	  * gst/realmedia/rdtmanager.c: (activate_session),
	  (gst_rdt_manager_parse_caps), (gst_rdt_manager_setcaps),
	  (create_recv_rtp):
	  Parse caps to get the clockrate needed for the jitterbuffer.
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet):
	  Apply timestamp fixup after correcting for initial timestamp and
	  internal base timestamp corrections.

2008-08-27 11:28:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rdtdepay.*: Check seqnum gaps and drop duplicate packets or mark outgoing buffers with a DISCONT flag w...
	  Original commit message from CVS:
	  * gst/realmedia/rdtdepay.c: (gst_rdt_depay_handle_data),
	  (gst_rdt_depay_change_state):
	  * gst/realmedia/rdtdepay.h:
	  Check seqnum gaps and drop duplicate packets or mark outgoing buffers
	  with a DISCONT flag when needed.
	  * gst/realmedia/rdtmanager.c: (gst_rdt_manager_query_src):
	  Report the configure latency instead of a hardcoded value.

2008-08-27 10:02:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rdtmanager.c: Include the new rdt jitterbuffer in the session manager.
	  Original commit message from CVS:
	  * gst/realmedia/rdtmanager.c: (create_session), (activate_session),
	  (free_session), (gst_rdt_manager_query_src),
	  (gst_rdt_manager_src_activate_push),
	  (gst_rdt_manager_handle_data_packet), (gst_rdt_manager_chain_rdt),
	  (gst_rdt_manager_loop), (create_recv_rtp):
	  Include the new rdt jitterbuffer in the session manager.

2008-08-27 09:58:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rdtdepay.*: Use new RDT parsing helper functions.
	  Original commit message from CVS:
	  * gst/realmedia/rdtdepay.c: (gst_rdt_depay_class_init),
	  (gst_rdt_depay_finalize), (gst_rdt_depay_setcaps),
	  (gst_rdt_depay_push), (gst_rdt_depay_handle_data),
	  (gst_rdt_depay_chain), (gst_rdt_depay_change_state):
	  * gst/realmedia/rdtdepay.h:
	  Use new RDT parsing helper functions.
	  Copy discont flags correctly.
	  Push the header from the chain function instead of the setcaps function.
	  Copy incomming timestamp to the output buffers instead of doing magic
	  with the RDT timestamps.

2008-08-27 09:52:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/: Add first support for parsing RDT messages.
	  Original commit message from CVS:
	  * gst/realmedia/Makefile.am:
	  * gst/realmedia/gstrdtbuffer.c: (gst_rdt_buffer_validate_data),
	  (gst_rdt_buffer_validate), (gst_rdt_buffer_get_packet_count),
	  (read_packet_header), (gst_rdt_buffer_get_first_packet),
	  (gst_rdt_packet_move_to_next), (gst_rdt_packet_get_type),
	  (gst_rdt_packet_get_length), (gst_rdt_packet_to_buffer),
	  (gst_rdt_buffer_compare_seqnum), (gst_rdt_packet_data_get_seq),
	  (gst_rdt_packet_data_peek_data),
	  (gst_rdt_packet_data_get_stream_id),
	  (gst_rdt_packet_data_get_timestamp):
	  * gst/realmedia/gstrdtbuffer.h:
	  Add first support for parsing RDT messages.
	  * gst/realmedia/rdtjitterbuffer.c: (rdt_jitter_buffer_class_init),
	  (rdt_jitter_buffer_init), (rdt_jitter_buffer_finalize),
	  (rdt_jitter_buffer_new), (rdt_jitter_buffer_reset_skew),
	  (calculate_skew), (rdt_jitter_buffer_insert),
	  (rdt_jitter_buffer_pop), (rdt_jitter_buffer_peek),
	  (rdt_jitter_buffer_flush), (rdt_jitter_buffer_num_packets),
	  (rdt_jitter_buffer_get_ts_diff):
	  * gst/realmedia/rdtjitterbuffer.h:
	  Add first version of an RDT jitterbuffer.

2008-08-27 09:47:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rmdemux.*: Keep track of the first timestamp of the stream and add this to the outgoing buffer timestam...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_init),
	  (find_seek_offset_time), (gst_rmdemux_reset), (gst_rmdemux_chain),
	  (gst_rmdemux_parse_mdpr), (gst_rmdemux_descramble_cook_audio),
	  (gst_rmdemux_descramble_dnet_audio),
	  (gst_rmdemux_parse_video_packet), (gst_rmdemux_parse_audio_packet):
	  * gst/realmedia/rmdemux.h:
	  Keep track of the first timestamp of the stream and add this to the
	  outgoing buffer timestamps so that we can handle live streams.
	  Set discont flag on the first buffers and after a seek.

=== release 0.10.9 ===

2008-08-26 23:06:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* docs/plugins/inspect/plugin-a52dec.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-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* gst-plugins-ugly.doap:
	  Release 0.10.9
	  Original commit message from CVS:
	  Release 0.10.9

2008-08-26 22:56:30 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/cs.po:
	* po/da.po:
	* po/en_GB.po:
	* po/es.po:
	* po/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/lt.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ru.po:
	* po/sk.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files
	  Original commit message from CVS:
	  Update .po files

2008-08-26 15:35:43 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/a52dec/gsta52dec.c: Set up a default time segment for output when receiving an incoming byte segment (as for raw ...
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c:
	  Set up a default time segment for output when receiving
	  an incoming byte segment (as for raw AC3 files).
	  Fixes: #548194

2008-08-12 09:16:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  0.10.8.2 pre-release.
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  * docs/plugins/gst-plugins-ugly-plugins.args:
	  * docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	  * docs/plugins/gst-plugins-ugly-plugins.interfaces:
	  * docs/plugins/inspect/plugin-a52dec.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-iec958.xml:
	  * docs/plugins/inspect/plugin-lame.xml:
	  * docs/plugins/inspect/plugin-mad.xml:
	  * docs/plugins/inspect/plugin-mpeg2dec.xml:
	  * docs/plugins/inspect/plugin-mpegaudioparse.xml:
	  * docs/plugins/inspect/plugin-mpegstream.xml:
	  * docs/plugins/inspect/plugin-realmedia.xml:
	  * docs/plugins/inspect/plugin-siddec.xml:
	  * ext/Makefile.am:
	  0.10.8.2 pre-release.
	  * po/LINGUAS:
	  * po/POTFILES.in:
	  * po/id.po:
	  Add new translation.

2008-08-11 18:44:35 +0000  Michael Smith <msmith@xiph.org>

	  gst/asfdemux/gstasfdemux.c: Properly aggregate flow returns for both push and pull mode, so we shut down if all pads ...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c:
	  Properly aggregate flow returns for both push and pull mode, so we shut
	  down if all pads are unlinked.
	  Fixes #546859.

2008-08-07 16:14:42 +0000  Frederic Crozat <fcrozat@mandriva.org>

	  Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822).
	  Original commit message from CVS:
	  Patch by: Frederic Crozat <fcrozat@mandriva.org>
	  * ext/dvdread/dvdreadsrc.c: (plugin_init):
	  * ext/lame/gstlame.c: (plugin_init):
	  * gst/asfdemux/gstasf.c: (plugin_init):
	  Make sure gettext returns translations in UTF-8 encoding rather
	  than in the current locale encoding (#546822).

2008-07-31 14:35:40 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Don't recurse from mp3parse_bytepos_to_time() to mp3parse_total_time() if we'...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event), (gst_mp3parse_emit_frame),
	  (mp3parse_total_time), (mp3parse_bytepos_to_time):
	  Don't recurse from mp3parse_bytepos_to_time() to mp3parse_total_time()
	  if we're called from there already. Otherwise we end up in a endless
	  recursion and crash with a stack overflow.
	  This can happen when a Xing or VBRI header with TOC exists but it
	  doesn't contain the total time. Fixes bug #545370.

2008-07-31 14:24:27 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/lame/gstlame.c: Use the default for the strict-iso property too.
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_class_init),
	  (gst_lame_get_default_settings):
	  Use the default for the strict-iso property too.
	  Allow a bitrate setting of 0, which lets lame choose the default value
	  and which makes it possible to set the compression-ratio property.

2008-07-29 16:57:16 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/lame/gstlame.*: Get the defaults settings of LAME in the plugin initialization function and return FALSE here if ...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init),
	  (gst_lame_chain), (gst_lame_get_default_settings), (plugin_init):
	  * ext/lame/gstlame.h:
	  Get the defaults settings of LAME in the plugin initialization
	  function and return FALSE here if something goes wrong. This removes
	  the hacky failing instance init function.
	  Use LAMEs default value for all settings instead of overwriting some
	  of them. Overwriting some of them gives unexpected results if one only
	  sets a preset. Fixes bug #498004.

2008-07-27 15:56:27 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/lame/gstlame.c: Use LAME's default for the min/max/mean VBR bitrate. Setting our own defaults will restrict the b...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_init):
	  Use LAME's default for the min/max/mean VBR bitrate. Setting our own
	  defaults will restrict the bitrate when using the presets in a bad way.
	  Fixes bug #498004.

2008-07-27 11:01:12 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Put the MPEG audio version into the caps as "mpegaudioversion".
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_setcaps):
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (mp3_type_frame_length_from_header), (mp3_caps_create),
	  (gst_mp3parse_chain):
	  Put the MPEG audio version into the caps as "mpegaudioversion".
	  This is different from "mpegversion".

2008-07-22 18:25:08 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/lame/gstlame.*: Fix build with lame >= 3.97. The padding type and cwlimit settings are deprecated now and the fun...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init),
	  (gst_lame_set_property), (gst_lame_get_property), (gst_lame_setup):
	  * ext/lame/gstlame.h:
	  Fix build with lame >= 3.97. The padding type and cwlimit settings
	  are deprecated now and the function declarations are hidden in the
	  headers so deprecate the GObject properties for them and remove them
	  in 0.11. Fixes bug #544039.

2008-07-13 10:13:06 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/mpeg2dec/gstmpeg2dec.c: Don't allow width/height outside the spec (i.e. smaller than 16 and higher than 4096). Su...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence):
	  Don't allow width/height outside the spec (i.e. smaller than 16
	  and higher than 4096). Such files are corrupted ones and setting
	  caps that are not a subset of the template caps confuses playbin.
	  Fixes bug #542646.

2008-07-11 12:30:22 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/sidplay/Makefile.am: Fix the build.
	  Original commit message from CVS:
	  * ext/sidplay/Makefile.am:
	  Fix the build.

2008-07-08 14:01:51 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: Don't include ERROR_CFLAGS in GST_CXXFLAGS as it might include flags that are invalid for C++.
	  Original commit message from CVS:
	  * configure.ac:
	  Don't include ERROR_CFLAGS in GST_CXXFLAGS as it might include
	  flags that are invalid for C++.

2008-07-05 18:57:30 +0000  Tal Shalif <tshalif@nargila.org>

	  ext/dvdnav/dvdnavsrc.c: Prevent double free. Fixes bug #541697.
	  Original commit message from CVS:
	  Patch by: Tal Shalif <tshalif at nargila dot org>
	  * ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_stop):
	  Prevent double free. Fixes bug #541697.

2008-07-05 15:56:56 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  gst/mpegstream/: Resend tags event after a FLUSH (seek) to support prerolling a partial pipeline.
	  Original commit message from CVS:
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
	  (gst_dvd_demux_get_audio_stream),
	  (gst_dvd_demux_get_subpicture_stream),
	  (gst_dvd_demux_parse_packhead), (gst_dvd_demux_reset):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_init),
	  (gst_mpeg_demux_process_event), (gst_mpeg_demux_init_stream),
	  (gst_mpeg_demux_parse_packhead), (gst_mpeg_demux_reset):
	  * gst/mpegstream/gstmpegdemux.h:
	  Resend tags event after a FLUSH (seek) to support prerolling
	  a partial pipeline.

2008-07-03 13:12:26 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Use correct error code for encrypted streams.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_object):
	  Use correct error code for encrypted streams.

2008-07-02 07:49:19 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  gst/mpegstream/gstmpegdemux.c: Bridge gaps in stream by NEWSEGMENT sending.  Fixes #540194.
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer),
	  (gst_mpeg_demux_sync_stream_to_time):
	  Bridge gaps in stream by NEWSEGMENT sending.  Fixes #540194.

2008-06-27 12:58:35 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  ext/dvdread/dvdreadsrc.c: Allow and implement non-flushing and/or segment seek (mainly in TIME and chapter format).
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read),
	  (gst_dvd_read_src_create), (gst_dvd_read_src_handle_seek_event):
	  Allow and implement non-flushing and/or segment seek
	  (mainly in TIME and chapter format).
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event),
	  (gst_dvd_demux_get_subpicture_stream),
	  (gst_dvd_demux_synchronise_pads),
	  (gst_dvd_demux_sync_stream_to_time):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_process_event),
	  (gst_mpeg_demux_send_subbuffer),
	  (gst_mpeg_demux_sync_stream_to_time),
	  (gst_mpeg_streams_reset_cur_ts):
	  * gst/mpegstream/gstmpegdemux.h:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event),
	  (gst_mpeg_parse_pad_added), (gst_mpeg_parse_handle_src_query):
	  Delegate a query to upstream if it can't be handled.
	  Make segment stop aware.
	  Fix (subtitle) stream synchronization.
	  Add some debug statements.

2008-06-26 10:40:03 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Fix build on macosx.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (head_check):
	  Fix build on macosx.

2008-06-13 06:57:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Add missing elements to docs. Restore alphabetical order in section file. Document mad (it was included in docs alrea...
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  * ext/a52dec/gsta52dec.c:
	  * ext/amrnb/amrnbdec.c:
	  * ext/amrnb/amrnbenc.c:
	  * ext/amrnb/amrnbparse.c:
	  * ext/lame/gstlame.c:
	  * ext/mad/gstmad.c:
	  * ext/sidplay/gstsiddec.cc:
	  * gst/asfdemux/gstrtspwms.c:
	  * gst/mpegaudioparse/gstxingmux.c:
	  * gst/realmedia/rademux.c:
	  * gst/realmedia/rdtmanager.c:
	  * gst/realmedia/rtspreal.c:
	  * gst/synaesthesia/gstsynaesthesia.c:
	  Add missing elements to docs. Restore alphabetical order in section
	  file. Document mad (it was included in docs already).
	  Fix doc-markup: use convinience syntax for examples
	  (produces valid docbook), add several refsec2 when we have several
	  titles. Fix some types.

2008-06-13 05:52:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Do not use short_description in section docs for elements. We extract them from element details and there will be war...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c:
	  * ext/sidplay/gstsiddec.cc:
	  * gst/mpegaudioparse/gstxingmux.c:
	  Do not use short_description in section docs for elements. We extract
	  them from element details and there will be warnings if they differ.

2008-06-09 20:02:05 +0000  Benjamin Kampmann <benjamin@fluendo.com>

	  ext/cdio/: Also extract album title and album genre from CD-TEXT if available (#537021).
	  Original commit message from CVS:
	  Patch by: Benjamin Kampmann  <benjamin at fluendo dot com>
	  * ext/cdio/gstcdio.c: (gst_cdio_get_cdtext),
	  (gst_cdio_add_cdtext_album_tags):
	  * ext/cdio/gstcdio.h:
	  * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open):
	  Also extract album title and album genre from CD-TEXT if
	  available (#537021).

2008-06-09 07:51:00 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Don't mark MPEG headers with emphasis == 0x2 as invalid. This emphasis value ...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (head_check):
	  Don't mark MPEG headers with emphasis == 0x2 as invalid. This
	  emphasis value is reserved but unfortunately files with that
	  value exist and the information is not important for the decoder
	  anyway. Fixes bug #537235.

2008-06-07 18:48:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Require libcdio >= 0.76.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/cdio/gstcdio.c:
	  * ext/cdio/gstcdio.h:
	  * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open):
	  Require libcdio >= 0.76.

2008-06-02 15:44:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/a52dec/gsta52dec.c: Drain queued buffers before forwarding the segment event.
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_sink_event):
	  Drain queued buffers before forwarding the segment event.

2008-06-02 11:59:07 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/a52dec/gsta52dec.*: Add segment handling, buffer clipping and basic reverse playback.
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (clear_queued), (flush_queued),
	  (gst_a52dec_drain), (gst_a52dec_push), (gst_a52dec_sink_event),
	  (gst_a52dec_chain), (gst_a52dec_change_state):
	  * ext/a52dec/gsta52dec.h:
	  Add segment handling, buffer clipping and basic reverse playback.

2008-05-28 11:43:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Random doc of the day. Also print human readable format of newsegment in log message if we complain about it.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  * docs/plugins/gst-plugins-ugly-plugins.args:
	  * docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	  * docs/plugins/gst-plugins-ugly-plugins.interfaces:
	  * docs/plugins/inspect/plugin-a52dec.xml:
	  * docs/plugins/inspect/plugin-amrnb.xml:
	  * docs/plugins/inspect/plugin-asf.xml:
	  * docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	  * docs/plugins/inspect/plugin-dvdread.xml:
	  * docs/plugins/inspect/plugin-dvdsub.xml:
	  * docs/plugins/inspect/plugin-iec958.xml:
	  * docs/plugins/inspect/plugin-lame.xml:
	  * docs/plugins/inspect/plugin-mad.xml:
	  * docs/plugins/inspect/plugin-mpeg2dec.xml:
	  * docs/plugins/inspect/plugin-mpegaudioparse.xml:
	  * docs/plugins/inspect/plugin-mpegstream.xml:
	  * docs/plugins/inspect/plugin-realmedia.xml:
	  * docs/plugins/inspect/plugin-siddec.xml:
	  * docs/plugins/inspect/plugin-synaesthesia.xml:
	  * ext/a52dec/gsta52dec.c:
	  Random doc of the day. Also print human readable format of newsegment
	  in log message if we complain about it.

2008-05-26 09:06:54 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/a52dec/gsta52dec.*: Mark discont on outgoing buffers after receiving a DISCONT buffer or when we have a decoding ...
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_init), (gst_a52dec_push),
	  (gst_a52dec_sink_event), (gst_a52dec_handle_frame),
	  (gst_a52dec_chain), (gst_a52dec_change_state):
	  * ext/a52dec/gsta52dec.h:
	  Mark discont on outgoing buffers after receiving a DISCONT buffer or
	  when we have a decoding error.
	  We don't need to clear the cache when we receive a NEWSEGMENT event.
	  Clear buffer cache in DISCONT.
	  Add beginnings of GstSegment handling.

2008-05-26 07:41:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstxingmux.c: Fix alignment issues that caused SIGBUS on some architectures.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstxingmux.c: (generate_xing_header):
	  Fix alignment issues that caused SIGBUS on some architectures.

2008-05-25 21:30:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/ac3parse/gstac3parse.c: Fix alignment issue which isn't really an issue at all because the plugin hasn't been por...
	  Original commit message from CVS:
	  * gst/ac3parse/gstac3parse.c: (gst_ac3parse_chain):
	  Fix alignment issue which isn't really an issue at all because
	  the plugin hasn't been ported to 0.10 yet.

2008-05-25 21:03:41 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Back to devel -> 0.10.8.1
	  Original commit message from CVS:
	  * configure.ac:
	  Back to devel -> 0.10.8.1

=== release 0.10.8 ===

2008-05-21 23:03:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-asf.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-dvdread.xml:
	* docs/plugins/inspect/plugin-dvdsub.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* gst-plugins-ugly.doap:
	* po/LINGUAS:
	  Release 0.10.8
	  Original commit message from CVS:
	  Release 0.10.8

2008-05-21 22:43:42 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* common:
	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/cs.po:
	* po/da.po:
	* po/en_GB.po:
	* po/es.po:
	* po/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/it.po:
	* po/lt.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ru.po:
	* po/sk.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files
	  Original commit message from CVS:
	  Update .po files

2008-05-19 21:38:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: 0.10.7.4 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  0.10.7.4 pre-release

2008-05-19 15:07:07 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/mad/gstmad.c: Fix inconsistent use of rate and channels.
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_convert_src), (gst_mad_chain):
	  Fix inconsistent use of rate and channels.
	  Fixes #533581

2008-05-19 10:23:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rmdemux.c: Flush timestamp correction variables on a flush. Fixes #533832.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_send_event):
	  Flush timestamp correction variables on a flush. Fixes #533832.

2008-05-19 10:02:41 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* common:
	* configure.ac:
	  Commit 0.10.7.3 pre-rel marker
	  Original commit message from CVS:
	  Commit 0.10.7.3 pre-rel marker

2008-05-13 09:33:09 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/realmedia/rmdemux.c: Properly aggregate GstFlowReturn from downstream in order to properly stop, and doing that a...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet):
	  Properly aggregate GstFlowReturn from downstream in order to properly
	  stop, and doing that as early as possible.
	  Fixes #532807

2008-05-10 15:32:41 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: 0.10.7.2 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  0.10.7.2 pre-release

2008-05-10 00:44:00 +0000  Edward Hervey <bilboed@bilboed.com>

	  Always let FLUSH_START events flow downstream.
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_sink_event):
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event):
	  Always let FLUSH_START events flow downstream.

2008-05-07 08:00:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Error out if we don't have the required core/base versions.
	  Original commit message from CVS:
	  * configure.ac:
	  Error out if we don't have the required core/base versions.

2008-05-06 17:53:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rmdemux.c: Fix video timestamps by adjusting it with the first timestamp found.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr),
	  (gst_rmdemux_fix_timestamp), (gst_rmdemux_parse_video_packet),
	  (gst_rmdemux_parse_audio_packet), (gst_rmdemux_parse_packet):
	  Fix video timestamps by adjusting it with the first timestamp found.
	  Don't assume we have a complete fragment when flushing the adapter,
	  packets might have been lost or the stream might just be broken.

2008-05-06 10:30:18 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rdtmanager.c: Set Rank to NONE so that we don't accidentally try to autoplug the rdtmanager.
	  Original commit message from CVS:
	  * gst/realmedia/rdtmanager.c: (gst_rdt_manager_plugin_init):
	  Set Rank to NONE so that we don't accidentally try to autoplug the
	  rdtmanager.

2008-05-05 08:43:38 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Send a new duration message if the average bitrate changed and we don't know ...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_emit_frame):
	  Send a new duration message if the average bitrate changed and
	  we don't know the duration from the Xing or VBRI header.
	  Fixes bug #321857.

2008-04-30 17:16:47 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rtspreal.*: Move assembly rule parsing to the place where we parse the SDP as it's also there that we c...
	  Original commit message from CVS:
	  * gst/realmedia/rtspreal.c: (rtsp_ext_real_before_send),
	  (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select):
	  * gst/realmedia/rtspreal.h:
	  Move assembly rule parsing to the place where we parse the SDP as it's
	  also there that we create the MDPR and we need the currently selected
	  asmrule in order to select the right MTLI.
	  Fixes #529359.

2008-04-29 17:34:19 +0000  Michael Smith <msmith@xiph.org>

	  gst/realmedia/: Include generated "_stdint.h" instead of <stdint.h> which might not exist on some systems.
	  Original commit message from CVS:
	  * gst/realmedia/realhash.c:
	  * gst/realmedia/rtspreal.c:
	  Include generated "_stdint.h" instead of <stdint.h> which might not
	  exist on some systems.

2008-04-25 23:10:54 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/sidplay/gstsiddec.cc: Cast NULL sentinels to void * as NULL is defined as an integer constant in most environment...
	  Original commit message from CVS:
	  * ext/sidplay/gstsiddec.cc:
	  Cast NULL sentinels to void * as NULL is defined as an integer
	  constant in most environments when using C++ and it's size might
	  be different from a pointer. Fixes #529488.

2008-04-22 12:11:30 +0000  Edgard Lima <edgard.lima@indt.org.br>

	* ChangeLog:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstrtspwms.c:
	  Fix "unused var" compiler error when --disable-gst-debug is used.
	  Original commit message from CVS:
	  Fix "unused var" compiler error when --disable-gst-debug is used.

2008-04-17 20:58:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/amrnb/amrnbparse.c: We should also stop the streaming task when we get a NOT_LINKED flow return, which is not cov...
	  Original commit message from CVS:
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_loop):
	  We should also stop the streaming task when we get a NOT_LINKED
	  flow return, which is not covered by FLOW_IS_FATAL.

2008-04-17 10:24:32 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/: gst_atomic_int_set ==> g_atomic_int_set
	  Original commit message from CVS:
	  * ext/cdio/gstcdiocddasrc.c:
	  * ext/dv/gstdvdemux.c:
	  gst_atomic_int_set ==> g_atomic_int_set

2008-04-11 08:09:55 +0000  Julien Moutte <julien@moutte.net>

	  gst/mpegaudioparse/gstxingmux.c: Fix argument formats.
	  Original commit message from CVS:
	  2008-04-11  Julien Moutte  <julien@fluendo.com>
	  * gst/mpegaudioparse/gstxingmux.c: (generate_xing_header): Fix
	  argument formats.

2008-04-06 08:57:33 +0000  Damien Lespiau <damien.lespiau@gmail.com>

	  configure.ac: Actually build dlls when cross-compiling with mingw32.
	  Original commit message from CVS:
	  Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
	  * configure.ac:
	  Actually build dlls when cross-compiling with mingw32.
	  Fixes bug #526247.

2008-04-04 19:04:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Depend on GLib 2.12 and use it unconditionally as we do in other modules too already.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (mpeg_audio_seek_entry_free):
	  * gst/mpegaudioparse/gstxingmux.c: (gst_xing_seek_entry_free):
	  Depend on GLib 2.12 and use it unconditionally as we do in other
	  modules too already.

2008-04-03 15:21:50 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/: Use GSlice for allocating the seek table entries if we compile with
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (mpeg_audio_seek_entry_new), (mpeg_audio_seek_entry_free),
	  (gst_mp3parse_reset), (gst_mp3parse_emit_frame):
	  * gst/mpegaudioparse/gstxingmux.c: (gst_xing_seek_entry_new),
	  (gst_xing_seek_entry_free), (gst_xing_mux_finalize), (xing_reset),
	  (gst_xing_mux_chain):
	  Use GSlice for allocating the seek table entries if we compile with
	  GLib 2.10 or newer.

2008-04-01 14:39:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/asfdemux/gstasfdemux.c: Remove some debug code.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c:
	  (gst_asf_demux_process_ext_stream_props):
	  Remove some debug code.

2008-04-01 14:29:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/asfdemux/gstasfdemux.c: Guard against division by 0 and fall back to 25/1 framerate.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c:
	  (gst_asf_demux_process_ext_stream_props):
	  Guard against division by 0 and fall back to 25/1 framerate.

2008-04-01 14:00:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/asfdemux/gstasfdemux.c: Instead of adding a fixes 25/1 framerate to the video caps, use the average frame duratio...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream),
	  (gst_asf_demux_process_ext_stream_props):
	  Instead of adding a fixes 25/1 framerate to the video caps, use the
	  average frame duration in the extended properties of the video stream as
	  the framerate. Fixes #524346.

2008-03-21 14:15:27 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: Check if the compiler supports do { } while (0) macros. This fixes a warning when compiling with g++ 4....
	  Original commit message from CVS:
	  * configure.ac:
	  Check if the compiler supports do { } while (0) macros. This fixes
	  a warning when compiling with g++ 4.3, resulting in a build failure
	  because of -Werror.

2008-03-19 11:01:25 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/asmrules.c: make ) also a delimiter for rules.
	  Original commit message from CVS:
	  * gst/realmedia/asmrules.c: (gst_asm_scan_string), (main):
	  make ) also a delimiter for rules.
	  Skip \\ when scanning strings.
	  Add new testcase for these problems.

2008-03-12 16:09:48 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Don't take the stream lock when caching events. This is not necessary and res...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event):
	  Don't take the stream lock when caching events. This is not necessary
	  and results in a deadlock when seeking with rhythmbox (but not with
	  totem or banshee for some reason).

2008-03-10 15:17:24 +0000  Pizpot Gargravarr <pgargravarr@siriuscybernetics.org>

	  gst/realmedia/rtspreal.c: Add the version field when creating the CONT chunk resulting in the Author, Comment and Cop...
	  Original commit message from CVS:
	  Patch by: Pizpot Gargravarr <pgargravarr at siriuscybernetics dot org>
	  * gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp):
	  Add the version field when creating the CONT chunk resulting in
	  the Author, Comment and Copyright tags not being parsed correctly.
	  Fixes #521459.

2008-03-10 15:13:10 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Remove trailing newlines from debug statements.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event), (gst_mp3parse_chain):
	  Remove trailing newlines from debug statements.

2008-03-04 22:54:21 +0000  Simone Gotti <simone.gotti@email.it>

	  ext/dvdnav/dvdnavsrc.*: Apply patch that adds some seeking support to dvdnav, and fixes it in various other ways. Thi...
	  Original commit message from CVS:
	  * ext/dvdnav/dvdnavsrc.c:
	  * ext/dvdnav/dvdnavsrc.h:
	  Apply patch that adds some seeking support to dvdnav, and fixes it
	  in various other ways. This doesn't make dvdnavsrc fully functional,
	  but moves it forward.
	  Fixes: #476149
	  Patch By: Simone Gotti <simone.gotti@email.it>
	  * ext/dvdnav/gst-dvd:
	  Update the simple dvdnavsrc gst-launch example to work for 0.10

2008-03-03 12:50:56 +0000  Peter Kjellerstedt <pkj@axis.com>

	  configure.ac: Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which plug-ins are included/excluded. (#4...
	  Original commit message from CVS:
	  * configure.ac:
	  Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which
	  plug-ins are included/excluded. (#498222)

2008-02-27 15:23:51 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Push EOS, FLUSH_STOP and NEWSEGMENT immediately instead of dropping and leaking them.
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_sink_event):
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event):
	  Push EOS, FLUSH_STOP and NEWSEGMENT immediately instead
	  of dropping and leaking them.

2008-02-27 13:18:57 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Cache all events except EOS if we still have to send a NEWSEGMENT event. This will let TAG events be forwarded until ...
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_dispose), (gst_mad_sink_event),
	  (gst_mad_chain):
	  * ext/mad/gstmad.h:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_dispose),
	  (gst_mp3parse_sink_event), (gst_mp3parse_emit_frame):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Cache all events except EOS if we still have to send a NEWSEGMENT
	  event. This will let TAG events be forwarded until after decodebin
	  to an encoder for example as decodebin only links the pads
	  after NEWSEGMENT. Fixes bug #518933.

2008-02-27 12:48:41 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstxingmux.c: Write Xing header at the correct position in the MP3 frame for stereo files. Fixes b...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstxingmux.c: (get_xing_offset):
	  Write Xing header at the correct position in the MP3 frame for
	  stereo files. Fixes bug #518676.

2008-02-23 12:35:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Check for and define ERROR_CXXFLAGS and GST_CXXFLAGS and use them when building C++ code (#516509).
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/sidplay/Makefile.am:
	  Check for and define ERROR_CXXFLAGS and GST_CXXFLAGS and use them
	  when building C++ code (#516509).

2008-02-22 14:55:57 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.c: Fix broken GST_ELEMENT_ERROR macro, fixes compile with the Sun
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_setcaps):
	  Fix broken GST_ELEMENT_ERROR macro, fixes compile with the Sun
	  Workshop 12 compiler, but probably also crashes (#517985).

2008-02-22 07:11:17 +0000  Thiago Sousa Santos <thiagoss@lcc.ufcg.edu.br>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Post channel mode and CRC as tags. Fixes bug #504493.
	  Original commit message from CVS:
	  Patch by: Thiago Sousa Santos <thiagoss at lcc dot ufcg dot edu dot br>
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3_channel_mode_get_type),
	  (mp3_type_frame_length_from_header), (gst_mp3parse_class_init),
	  (gst_mp3parse_reset), (gst_mp3parse_emit_frame),
	  (gst_mp3parse_chain):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Post channel mode and CRC as tags. Fixes bug #504493.

2008-02-22 06:27:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/dvdnav/dvdnavsrc.c: Correctly chain up to the parent's finalize function.
	  Original commit message from CVS:
	  * ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_finalize):
	  Correctly chain up to the parent's finalize function.

2008-02-22 06:25:28 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Try a bit harder to get valid timestamps, especially if upstream gives us one...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_emit_frame), (gst_mp3parse_chain):
	  Try a bit harder to get valid timestamps, especially if upstream
	  gives us one and we are at the first frame or resyncing.
	  Return UNEXPECTED if we get a valid timestamp that is outside of
	  our configured segment. After all changes done so far this doesn't
	  seem to cause any regression, please test.

2008-02-22 06:19:41 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/asfdemux/gstasfdemux.c: If we don't have the position to seek to in our index first try to convert from TIME to B...
	  Original commit message from CVS:
	  Patch by:
	  Hans de Goede <j dot w dot r dot degoede at hhs dot nl>
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_seek_event):
	  If we don't have the position to seek to in our index first try
	  to convert from TIME to BYTES upstream and only if that fails
	  too use the old hack to simply seek to an earlier position
	  and let the sink drop everything before segment start.
	  Partially fixes bug #469930.

2008-02-21 23:54:25 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Back to development...
	  Original commit message from CVS:
	  * configure.ac:
	  Back to development...

=== release 0.10.7 ===

2008-02-21 00:15:22 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	* docs/plugins/gst-plugins-ugly-plugins.interfaces:
	* docs/plugins/gst-plugins-ugly-plugins.prerequisites:
	* docs/plugins/gst-plugins-ugly-plugins.signals:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-asf.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-dvdread.xml:
	* docs/plugins/inspect/plugin-dvdsub.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-realmedia.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	* gst-plugins-ugly.doap:
	* po/LINGUAS:
	  Release 0.10.7 - I Cheated Time
	  Original commit message from CVS:
	  Release 0.10.7 - I Cheated Time

2008-02-20 23:51:56 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/cs.po:
	* po/da.po:
	* po/en_GB.po:
	* po/es.po:
	* po/fi.po:
	* po/hu.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/sk.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files
	  Original commit message from CVS:
	  Update .po files

2008-02-18 20:40:29 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/Makefile.am: Exclude dvdreadsrc from the states test too.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Exclude dvdreadsrc from the states test too.

2008-02-18 10:25:16 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Handler buffers without valid timestamp more correctly: Don't drop them and d...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_emit_frame):
	  Handler buffers without valid timestamp more correctly: Don't drop
	  them and don't use the invalid timestamp to calculate the next
	  timestamp. Fixes bug #516811.

2008-02-18 05:16:44 +0000  Tal Shalif <tshalif@nargila.org>

	  ext/dvdread/dvdreadsrc.c: Add some gint64 casts to prevent 32 bit integer overflows.
	  Original commit message from CVS:
	  Patch by: Tal Shalif <tshalif at nargila dot org>
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_create),
	  (gst_dvd_read_src_do_seek), (gst_dvd_read_src_do_position_query):
	  Add some gint64 casts to prevent 32 bit integer overflows.
	  Fixes bug #516989.

2008-02-17 18:49:30 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Revert previous commit to mp3parse, as it breaks playback of AVI files.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  Revert previous commit to mp3parse, as it breaks playback
	  of AVI files.

2008-02-14 13:58:42 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Return GST_FLOW_UNEXPECTED if we get data that is after our configured segmen...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_emit_frame):
	  Return GST_FLOW_UNEXPECTED if we get data that is after our
	  configured segment. This makes upstream go EOS immediately instead
	  of sending us the complete stream. Also improve debugging a bit.

2008-02-13 22:57:54 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/dvdread/dvdreadsrc.c: Fix regression in DVD seeking - when a pack we expect to be a NAV block turns out not to be...
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c:
	  Fix regression in DVD seeking - when a pack we
	  expect to be a NAV block turns out not to be, scan forwards
	  for up to 2MB (at most ~1sec) until we find one.
	  Fixes: #516278

2008-02-12 21:42:19 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/vs6/libgstmpegaudioparse.dsp: Add xing files to VS project file.
	  Original commit message from CVS:
	  * win32/vs6/libgstmpegaudioparse.dsp:
	  Add xing files to VS project file.

2008-02-11 13:31:06 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/dvdsub/gstdvdsubparse.c: Stop leaking src pad templates. Fixes bug #515708.
	  Original commit message from CVS:
	  * gst/dvdsub/gstdvdsubparse.c: (gst_dvd_sub_parse_init):
	  Stop leaking src pad templates. Fixes bug #515708.

2008-02-11 13:29:07 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstxingmux.c: Correctly write the size in bytes on big endian systems.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstxingmux.c: (generate_xing_header):
	  Correctly write the size in bytes on big endian systems.
	  Fixes bug #515725.

2008-02-11 09:13:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/lame/gstlame.c: Don't leak the allowed caps.
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_setup):
	  Don't leak the allowed caps.
	  * tests/check/pipelines/lame.c: (GST_START_TEST):
	  Stop leaking all buffers. Fixes bug #515575.

2008-02-08 10:17:11 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegaudioparse/plugin.c: Commit new file I forgot to add.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/plugin.c:
	  Commit new file I forgot to add.

2008-02-08 01:09:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Make DISABLE_DEPRECATED defined *only* during CVS, not during pre-releases or releases.
	  Original commit message from CVS:
	  * configure.ac:
	  Make DISABLE_DEPRECATED defined *only* during CVS, not during
	  pre-releases or releases.

2008-02-08 00:44:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	  Mention bug 511497 fixed in previous commit
	  Original commit message from CVS:
	  Mention bug 511497 fixed in previous commit

2008-02-08 00:36:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Move xingmux from -bad.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  * docs/plugins/inspect/plugin-mpegaudioparse.xml:
	  * gst/mpegaudioparse/Makefile.am:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  * gst/mpegaudioparse/gstxingmux.c:
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  Move xingmux from -bad.

2008-02-07 19:25:08 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Use gst_guint64_to_gdouble for conversion
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:(mp3parse_time_to_bytepos):
	  Use gst_guint64_to_gdouble for conversion
	  * win32/vs6/libgstasfdemux.dsp:
	  * win32/vs6/libgstdvdsub.dsp:
	  * win32/vs6/libgstrealmedia.dsp:
	  Update project dependencies and add new source files

2008-02-04 14:27:32 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	  ext/mpeg2dec/gstmpeg2dec.c: Reset decoder when handling sequence where libmpeg2 has set frame period to 0, probably d...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c:
	  Reset decoder when handling sequence where libmpeg2 has set
	  frame period to 0, probably due to a corrupt packet.
	  Fixes bug #514297

2008-01-29 19:10:38 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Don't set new caps on the srcpad everytime the bitrate or MPEG version change...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_caps_create),
	  (gst_mp3parse_chain):
	  Don't set new caps on the srcpad everytime the bitrate or MPEG
	  version changes but calculate new spf value when the MPEG version
	  changes.

2008-01-23 10:34:40 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add documentation for the xingheader plugin.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-bad-plugins-sections.txt:
	  * gst/xingheader/gstxingmux.c:
	  * gst/xingheader/gstxingmux.h:
	  Add documentation for the xingheader plugin.
	  * tests/check/elements/xingmux.c: (GST_START_TEST):
	  Set element state to PLAYING before doing something else.

2008-01-23 10:11:44 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/check/: Add simple unit test for the xingmux element.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/xingmux.c: (setup_xingmux),
	  (cleanup_xingmux), (GST_START_TEST), (xingmux_suite), (main):
	  * tests/check/elements/xingmux_testdata.h:
	  Add simple unit test for the xingmux element.
	  * gst/xingheader/gstxingmux.c: (generate_xing_header),
	  (gst_xing_mux_finalize), (xing_reset):
	  Fix a memleak and invalid seek tables with less than 100 MP3 frames.

2008-01-21 13:35:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/plugins/: Add the real and rtsp elements and update the lists.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  Add the real and rtsp elements and update the lists.
	  * docs/plugins/inspect/plugin-amrnb.xml:
	  * docs/plugins/inspect/plugin-asf.xml:
	  * docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	  * docs/plugins/inspect/plugin-dvdsub.xml:
	  * docs/plugins/inspect/plugin-mpegaudioparse.xml:
	  * docs/plugins/inspect/plugin-mpegstream.xml:
	  * docs/plugins/inspect/plugin-realmedia.xml:
	  * docs/plugins/inspect/plugin-siddec.xml:
	  * docs/plugins/inspect/plugin-synaesthesia.xml:
	  Regenerate docs.
	  * gst/iec958/ac3_padder.c:
	  * gst/iec958/ac3_padder.h:
	  Do not use gtk-doc style comments for non gtk-doc comments. Note -
	  there are functions defined using extern in the .c file - does that
	  make sense?

2008-01-21 12:43:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/mad/gstmad.c: Chain up at the end of the function.
	  Original commit message from CVS:
	  * ext/mad/gstmad.c:
	  Chain up at the end of the function.

2008-01-19 16:04:14 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/mad/gstid3tag.c: Don't add pad templates for the base class but only in the subclasses.
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (gst_id3_tag_class_init):
	  Don't add pad templates for the base class but only in the
	  subclasses.

2008-01-17 17:26:48 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	  ext/lame/gstlame.*: Fix the case where you initially have stereo input, and so lame's mode is not set to mono, and th...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c:
	  * ext/lame/gstlame.h:
	  Fix the case where you initially have stereo input, and so lame's
	  mode is not set to mono, and then you get input with mono audio and
	  soon after you get stereo input again. What happened before this
	  commit is that it would keep the encoding mode as mono. It should
	  change it back to the one requested by the app (or the default one)
	  if not requested.

2008-01-15 17:18:31 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Interpolate the VBRI seek table entries to get better results, support 3 byte...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos),
	  (mp3parse_bytepos_to_time):
	  Interpolate the VBRI seek table entries to get better results,
	  support 3 byte seek table entries and prevent overflows in the
	  seek table by adding the relative offsets when using the seek
	  table in a large enough data type.

2008-01-14 15:02:13 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Add support for seeking based on the VBRI seek table. Might make sense to use...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
	  (gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos),
	  (mp3parse_bytepos_to_time):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Add support for seeking based on the VBRI seek table. Might make
	  sense to use interpolation in the table later to get hopefully a
	  bit more accurate values.

2008-01-14 11:41:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.c: Fix compilation error. Fixes #509313.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (clear_queued), (flush_queued),
	  (handle_picture), (handle_slice):
	  Fix compilation error. Fixes #509313.

2008-01-14 11:24:57 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/lame/gstlame.c: Use gst_util_uint64_scale instead of gst_util_uint64_scale_int as 8 * GST_SECOND is too large for...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_event):
	  Use gst_util_uint64_scale instead of gst_util_uint64_scale_int
	  as 8 * GST_SECOND is too large for int.

2008-01-14 10:52:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/xingheader/gstxingmux.c: Bitrate is 4 bits, not 8 so check for 0xe as maximum value instead of 0xfe.
	  Original commit message from CVS:
	  * gst/xingheader/gstxingmux.c: (generate_xing_header):
	  Bitrate is 4 bits, not 8 so check for 0xe as maximum value instead
	  of 0xfe.

2008-01-14 10:42:48 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Add initial support for reading VBRI headers as found in VBR files created by...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
	  (gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame),
	  (mp3parse_total_bytes), (mp3parse_total_time):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Add initial support for reading VBRI headers as found in VBR files
	  created by some Fraunhofer encoders. Currently we only read the
	  number of frames and bytes (and calculate duration, etc from this)
	  but there is also a seek table that we currently don't use.

2008-01-14 09:17:47 +0000  Mark Nauwelaerts <manauw@syknet.be>

	  ext/lame/gstlame.c: Correctly set number of channels when using mono-encoding mode and fix the duration calculation o...
	  Original commit message from CVS:
	  Patch by: Mark Nauwelaerts <manauw at syknet dot be>
	  * ext/lame/gstlame.c: (gst_lame_sink_setcaps),
	  (gst_lame_sink_event):
	  Correctly set number of channels when using mono-encoding mode
	  and fix the duration calculation of the EOS buffer.

2008-01-14 09:13:29 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Guard against 0 values in the Xing header as frame count and byte count and c...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_handle_first_frame):
	  Guard against 0 values in the Xing header as frame count and
	  byte count and calculate the bitrate when we have all values
	  we need and not before.

2008-01-14 09:09:49 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/xingheader/gstxingmux.c: Remove accidentially leftover debug printf.
	  Original commit message from CVS:
	  * gst/xingheader/gstxingmux.c: (generate_xing_header):
	  Remove accidentially leftover debug printf.

2008-01-14 08:56:31 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/xingheader/gstxingmux.c: Choose smallest possible frame size for the Xing header, properly set the timestamp, dur...
	  Original commit message from CVS:
	  * gst/xingheader/gstxingmux.c: (has_xing_header),
	  (generate_xing_header), (gst_xing_mux_chain),
	  (gst_xing_mux_sink_event):
	  Choose smallest possible frame size for the Xing header, properly
	  set the timestamp, duration and offset on the outgoing buffers,
	  only send NEWSEGMENT events in BYTE format downstream and also
	  drop VBRI headers if already existing.

2008-01-12 09:22:06 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/xingheader/: Major cleanup and rewrite of xingmux with less bugs and new features:
	  Original commit message from CVS:
	  * gst/xingheader/Makefile.am:
	  * gst/xingheader/gstxingmux.c: (parse_header), (get_xing_offset),
	  (has_xing_header), (generate_xing_header),
	  (gst_xing_mux_base_init), (gst_xing_mux_finalize), (xing_reset),
	  (gst_xing_mux_init), (gst_xing_mux_chain),
	  (gst_xing_mux_sink_event), (gst_xing_mux_change_state):
	  * gst/xingheader/gstxingmux.h:
	  Major cleanup and rewrite of xingmux with less bugs and new features:
	  - Handles other layers as 3
	  - Write TOC

2008-01-10 17:24:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstmad.c: Call g_type_class_ref() from a thread-safe context and not from the streaming thread to avoid GLib ...
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (GST_TYPE_MAD_MODE),
	  (GST_TYPE_MAD_EMPHASIS), (GST_TAG_EMPHASIS), (CHECK_HEADER):
	  Call g_type_class_ref() from a thread-safe context and not
	  from the streaming thread to avoid GLib screwing up (see
	  bug #349410 and #493432). Comment out unused code.

2008-01-10 15:24:08 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.*: Add buffer clipping.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (clear_queued), (flush_queued),
	  (handle_picture), (clip_buffer), (handle_slice),
	  (gst_mpeg2dec_chain), (gst_mpeg2dec_sink_event),
	  (gst_mpeg2dec_change_state):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Add buffer clipping.
	  Add basic reverse playback support. Not complete yet when dealing with
	  non-closed GOPs.

2008-01-10 12:28:19 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  autogen.sh: Add -Wno-portability to the automake parameters to stop warnings about GNU make extensions being used. We...
	  Original commit message from CVS:
	  * autogen.sh:
	  Add -Wno-portability to the automake parameters to stop warnings
	  about GNU make extensions being used. We require GNU make in almost
	  every Makefile anyway.
	  * configure.ac:
	  Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
	  at the same time is required for per target flags.

2008-01-09 13:51:38 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Makefile.am: Include lcov.mak to allow building coverage reports.
	  Original commit message from CVS:
	  * Makefile.am:
	  Include lcov.mak to allow building coverage reports.

2008-01-08 19:42:38 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Make sure that the Xing TOC starts with 0 and the entries are increasing over time. Otherwise it's broken and should ...
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (mpg123_parse_xing_header):
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_handle_first_frame):
	  Make sure that the Xing TOC starts with 0 and the entries
	  are increasing over time. Otherwise it's broken and should
	  be skipped. Fixes bug #507821.

2008-01-08 16:31:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.*: Parse metadata object and extract pixel aspect ratio. Fixes #507844.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (asfdemux_dbg), (gst_asf_demux_reset),
	  (gst_asf_demux_add_video_stream),
	  (gst_asf_demux_process_ext_content_desc),
	  (gst_asf_demux_get_metadata_for_stream),
	  (gst_asf_demux_process_metadata), (gst_asf_demux_process_object),
	  (gst_asf_demux_change_state):
	  * gst/asfdemux/gstasfdemux.h:
	  Parse metadata object and extract pixel aspect ratio. Fixes #507844.

2007-12-31 21:41:52 +0000  David Schleef <ds@schleef.org>

	  docs/plugins/.cvsignore: Add *-undeclared.txt
	  Original commit message from CVS:
	  * docs/plugins/.cvsignore:
	  Add *-undeclared.txt

2007-12-21 14:01:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rdtmanager.*: Implement some more signals that rtspsrc connects to.
	  Original commit message from CVS:
	  * gst/realmedia/rdtmanager.c:
	  (gst_rdt_manager_marshal_VOID__UINT_UINT),
	  (gst_rdt_manager_class_init):
	  * gst/realmedia/rdtmanager.h:
	  Implement some more signals that rtspsrc connects to.
	  Fixes #504671.

2007-12-18 09:07:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Makefile.am: Include common/win32.mak for CRLF check of win32 project files (see #393626).
	  Original commit message from CVS:
	  * Makefile.am:
	  Include common/win32.mak for CRLF check of win32 project
	  files (see #393626).

2007-12-13 11:20:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Don't post SEGMENT_START messages on the bus, only the element driving the pi...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event), (mp3parse_handle_seek):
	  Don't post SEGMENT_START messages on the bus, only the element
	  driving the pipeline should do that.

2007-12-09 04:29:35 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
	  Original commit message from CVS:
	  * configure.ac:
	  Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.

2007-12-03 19:05:20 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.h: Use G_GINT64_CONSTANT, fixes compilation with MSVC 6.0.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Use G_GINT64_CONSTANT, fixes compilation with MSVC 6.0.
	  Fixes #500808.

2007-11-20 12:15:51 +0000  Julien Moutte <julien@moutte.net>

	  gst/realmedia/rtspreal.c: Fix build on Mac OS X.
	  Original commit message from CVS:
	  2007-11-20  Julien MOUTTE  <julien@moutte.net>
	  * gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp): Fix build
	  on Mac OS X.

2007-11-19 11:38:49 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Restore the segment handling logic.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  Restore the segment handling logic.
	  Please don't do behavioural changes under the heading of 'leak fixes'
	  or 'whitespace changes', people.

2007-11-19 09:50:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Plug some leaks.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  Plug some leaks.

2007-11-13 06:57:57 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/asfdemux/gstasfdemux.c: Sync _activate_pull() a little more with other demuxers.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c:
	  Sync _activate_pull() a little more with other demuxers.

2007-11-11 20:41:32 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  gst/mpegstream/gstmpegdemux.c: recognize the padding stream
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegdemux.c:
	  recognize the padding stream

2007-10-31 14:33:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Convert tags that come as string into the type required by
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_content_desc):
	  Convert tags that come as string into the type required by
	  GstTagList.

2007-10-30 12:27:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Remove some more broken code, it seems to clip even when it should not.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_emit_frame):
	  Remove some more broken code, it seems to clip even when it should not.
	  See #491305.

2007-10-30 11:13:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: When the element is not driving the streaming thread it is not supposed to em...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_emit_frame):
	  When the element is not driving the streaming thread it is not supposed
	  to emit EOS or post SEGMENT done. It is allowed to return UNEXPECTED
	  upstream when it detects EOS. See #491305.

2007-10-13 15:13:34 +0000  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	  gst/dvdsub/: Add dvd subtitle parser, which just packetizes the input stream. This is needed to mux dvd subtitles int...
	  Original commit message from CVS:
	  Patch by: Mark Nauwelaerts <mnauw at users.sourceforge.net>
	  * gst/dvdsub/Makefile.am:
	  * gst/dvdsub/gstdvdsubdec.c:
	  * gst/dvdsub/gstdvdsubparse.c:
	  * gst/dvdsub/gstdvdsubparse.h:
	  Add dvd subtitle parser, which just packetizes the input
	  stream. This is needed to mux dvd subtitles into matroska
	  files, since the muxer expects unfragmented and properly
	  timestamped input (#415754).

2007-10-10 12:02:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Update requirements from past CVS versions to released versions (0.10.14 in this case).
	  Original commit message from CVS:
	  * configure.ac:
	  Update requirements from past CVS versions to released
	  versions (0.10.14 in this case).
	  * ext/sidplay/gstsiddec.cc:
	  Fix compilation with g++-4.2.

2007-10-08 17:51:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/realmedia/: Fix some compiler warnings shown on Forte.
	  Original commit message from CVS:
	  * gst/realmedia/asmrules.c: (gst_asm_scan_parse_expression),
	  (gst_asm_scan_parse_condition):
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet):
	  Fix some compiler warnings shown on Forte.

2007-10-05 08:51:44 +0000  Gautier Portet <kassoulet@gmail.com>

	  gst/xingheader/gstxingmux.c: The size of the Xing header is actually 417 as it's rounded to the next smaller integer....
	  Original commit message from CVS:
	  Patch by: Gautier Portet <kassoulet at gmail dot com>
	  * gst/xingheader/gstxingmux.c:
	  The size of the Xing header is actually 417 as it's rounded to the
	  next smaller integer. Fixes #397759.
	  * gst/xingheader/gstxingmux.c: (xing_generate_header),
	  (xing_push_header):
	  Some random cleanup, add FIXMEs and TODOs and check if the newsegment
	  event to the beginning was successful before pushing the header again.

2007-09-29 17:11:16 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Use gst_util_guint64_to_gdouble for conversions.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3parse_time_to_bytepos),
	  (mp3parse_bytepos_to_time):
	  Use gst_util_guint64_to_gdouble for conversions.
	  * win32/vs6/libgstmad.dsp:
	  Add a link to libgstaudio.

2007-09-26 13:40:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.c: Fix up case where there is no peer, in which case _get_allowed_caps() will return NULL.
	  Original commit message from CVS:
	  * ext/lame/gstlame.c:
	  Fix up case where there is no peer, in which case
	  _get_allowed_caps() will return NULL.

2007-09-25 13:20:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.c: Use GST_PTR_FORMAT to print caps in debug statement.
	  Original commit message from CVS:
	  * ext/lame/gstlame.c:
	  Use GST_PTR_FORMAT to print caps in debug statement.

2007-09-25 09:16:05 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: Use AG_GST_ARG_WITH_PLUGINS, AG_GST_ARG_ENABLE_EXTERNAL and
	  Original commit message from CVS:
	  * configure.ac:
	  Use AG_GST_ARG_WITH_PLUGINS, AG_GST_ARG_ENABLE_EXTERNAL and
	  AG_GST_ARG_ENABLE_EXPERIMENTAL instead of duplicating those macros
	  in configure.ac.

2007-09-24 10:26:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/lame/gstlame.c: Allow fixing the sample rate lame converts to by negotiating fixed sample rate on the src pad caps.
	  Original commit message from CVS:
	  * ext/lame/gstlame.c:
	  Allow fixing the sample rate lame converts to by negotiating fixed
	  sample rate on the src pad caps.
	  Add docs for it.
	  * tests/check/Makefile.am:
	  * tests/check/pipelines/lame.c:
	  Add a check for it.

2007-09-22 18:22:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/: Updated translations.
	  Original commit message from CVS:
	  * po/LINGUAS:
	  * po/da.po:
	  Updated translations.

2007-09-22 18:20:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/pl.po: Added Polish translation.
	  Original commit message from CVS:
	  translated by: Jakub Bogusz <qboosh@pld-linux.org>
	  * po/pl.po:
	  Added Polish translation.

2007-09-22 18:19:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/fi.po: Added Finnish translation.
	  Original commit message from CVS:
	  translated by: Ilkka Tuohela <hile@iki.fi>
	  * po/fi.po:
	  Added Finnish translation.

2007-09-22 18:17:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/es.po: Added Spanish translation.
	  Original commit message from CVS:
	  translated by: Jorge González González <aloriel@gmail.com>
	  * po/es.po:
	  Added Spanish translation.

2007-09-22 18:17:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/bg.po: Added Bulgarian translation.
	  Original commit message from CVS:
	  translated by: Alexander Shopov <ash@contact.bg>
	  * po/bg.po:
	  Added Bulgarian translation.

2007-09-20 11:47:52 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/iec958/ac3iec.c: Chainup in finalize.
	  Original commit message from CVS:
	  * gst/iec958/ac3iec.c:
	  Chainup in finalize.
	  * tests/check/Makefile.am:
	  * tests/check/generic/states.c:
	  Improved state change unit test.

2007-09-19 18:20:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Ignore registries in any format.
	  Original commit message from CVS:
	  * docs/plugins/.cvsignore:
	  * tests/check/.cvsignore:
	  Ignore registries in any format.

2007-09-08 20:54:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for a define in the lame headers.  This has the advan...
	  Original commit message from CVS:
	  * configure.ac:
	  Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for a
	  define in the lame headers.  This has the advantage that
	  it should still work when we're cross-compiling (#452025).

2007-08-24 15:55:03 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/dvdlpcmdec/gstdvdlpcmdec.c: Add other allowed rates to the pad templates.
	  Original commit message from CVS:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  Add other allowed rates to the pad templates.
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_dispose):
	  Reset the parser to release memory in dispose.

2007-08-17 06:56:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/: Fix more leaks.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c:
	  * ext/amrnb/amrnbenc.c:
	  * ext/amrnb/amrnbparse.c:
	  * ext/sidplay/gstsiddec.cc:
	  Fix more leaks.

2007-08-16 14:49:11 +0000  Daniel Charles <dcharles@ti.com>

	  ext/amrnb/amrnbenc.*: Add property to select the BandMode of the AMR encoder.
	  Original commit message from CVS:
	  Patch by: Daniel Charles <dcharles at ti dot com>
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_bandmode_get_type),
	  (gst_amrnbenc_set_property), (gst_amrnbenc_get_property),
	  (gst_amrnbenc_base_init), (gst_amrnbenc_class_init),
	  (gst_amrnbenc_chain), (gst_amrnbenc_state_change):
	  * ext/amrnb/amrnbenc.h:
	  Add property to select the BandMode of the AMR encoder.
	  See #466442.

2007-08-16 12:15:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/realmedia/asmrules.c: Make ro memory to share.
	  Original commit message from CVS:
	  * gst/realmedia/asmrules.c:
	  Make ro memory to share.

2007-08-16 11:52:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Queue segment event and push it after we know the caps on the pad or else an ...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event), (gst_mp3parse_emit_frame):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Queue segment event and push it after we know the caps on the pad or
	  else an autoplugger might not have plugged the element yet and the
	  segment is lost.

2007-08-16 07:17:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/iec958/ac3iec.c: Fix tests.
	  Original commit message from CVS:
	  * gst/iec958/ac3iec.c:
	  Fix tests.

2007-08-16 06:48:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/: Add generic state-change test suite to help to fi leaks.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/generic/.cvsignore:
	  * tests/check/generic/states.c:
	  Add generic state-change test suite to help to fi leaks.

2007-08-09 10:57:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/: Added Portuguese (Brazilian) translation.
	  Original commit message from CVS:
	  translated by: Raphael Higino <phhigino@gmail.com>
	  * po/LINGUAS:
	  * po/pt_BR.po:
	  Added Portuguese (Brazilian) translation.

2007-08-09 10:55:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/: Updated translations.
	  Original commit message from CVS:
	  * po/hu.po:
	  * po/nl.po:
	  * po/sv.po:
	  * po/uk.po:
	  Updated translations.

2007-08-07 11:50:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rmdemux.c: Activate timestamp fixing code.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_fix_timestamp),
	  (gst_rmdemux_parse_video_packet):
	  Activate timestamp fixing code.

2007-08-07 10:57:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rmdemux.c: Do fragment collection in the demuxer so that we can now work with both ffmpeg and realvideo...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_reset),
	  (gst_rmdemux_chain), (gst_rmdemux_parse_mdpr),
	  (gst_rmdemux_fix_timestamp), (gst_rmdemux_parse_video_packet),
	  (gst_rmdemux_parse_audio_packet), (gst_rmdemux_parse_packet):
	  Do fragment collection in the demuxer so that we can now work with
	  both ffmpeg and realvideodec to decoder real video content.

2007-08-04 12:59:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/realmedia/asmrules.c: Include stdlib.h.
	  Original commit message from CVS:
	  * gst/realmedia/asmrules.c:
	  Include stdlib.h.

2007-08-03 16:21:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rdtmanager.c: Fix caps.
	  Original commit message from CVS:
	  * gst/realmedia/rdtmanager.c:
	  Fix caps.

2007-08-03 16:11:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rtspreal.c: Disable UDP transport for now.
	  Original commit message from CVS:
	  * gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports),
	  (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select):
	  Disable UDP transport for now.

2007-08-03 16:09:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/: Add simple rdt manager.
	  Original commit message from CVS:
	  * gst/realmedia/Makefile.am:
	  * gst/realmedia/rdtmanager.c: (find_session_by_id),
	  (create_session), (free_session), (gst_rdt_manager_base_init),
	  (gst_rdt_manager_marshal_BOXED__UINT_UINT),
	  (gst_rdt_manager_class_init), (gst_rdt_manager_init),
	  (gst_rdt_manager_finalize), (gst_rdt_manager_query_src),
	  (gst_rdt_manager_chain_rtp), (gst_rdt_manager_chain_rtcp),
	  (gst_rdt_manager_set_property), (gst_rdt_manager_get_property),
	  (gst_rdt_manager_provide_clock), (gst_rdt_manager_change_state),
	  (create_recv_rtp), (create_recv_rtcp), (create_rtcp),
	  (gst_rdt_manager_request_new_pad), (gst_rdt_manager_release_pad),
	  (gst_rdt_manager_plugin_init):
	  * gst/realmedia/rdtmanager.h:
	  * gst/realmedia/rmdemux.c: (plugin_init):
	  Add simple rdt manager.

2007-08-03 14:19:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rdtdepay.c: Fix the encoding-name so that it matches what the rtsp extension sets.
	  Original commit message from CVS:
	  * gst/realmedia/rdtdepay.c:
	  Fix the encoding-name so that it matches what the rtsp extension sets.

2007-08-02 19:37:41 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/: Use g_hash_table_destroy instead of _unref which is too new.
	  Original commit message from CVS:
	  * gst/realmedia/asmrules.c: (gst_asm_node_free),
	  (gst_asm_node_evaluate), (gst_asm_scan_new), (gst_asm_scan_free),
	  (gst_asm_scan_string), (gst_asm_scan_number),
	  (gst_asm_scan_identifier), (gst_asm_scan_print_token),
	  (gst_asm_scan_next_token), (gst_asm_rule_free),
	  (gst_asm_rule_add_property), (gst_asm_scan_parse_operand),
	  (gst_asm_scan_parse_expression), (gst_asm_scan_parse_condition),
	  (gst_asm_scan_parse_property), (gst_asm_scan_parse_rule),
	  (gst_asm_rule_evaluate), (gst_asm_rule_book_new),
	  (gst_asm_rule_book_n_rules), (gst_asm_rule_book_free),
	  (gst_asm_rule_book_match), (main):
	  * gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp),
	  (rtsp_ext_real_stream_select), (gst_rtsp_real_plugin_init):
	  Use g_hash_table_destroy instead of _unref which is too new.

2007-08-02 19:30:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/.cvsignore: Add test to ignore.
	  Original commit message from CVS:
	  * gst/realmedia/.cvsignore:
	  Add test to ignore.
	  * gst/realmedia/Makefile.am:
	  * gst/realmedia/asmrules.c: (gst_asm_node_new),
	  (gst_asm_node_free), (gst_asm_operator_eval),
	  (gst_asm_node_evaluate), (gst_asm_scan_new), (gst_asm_scan_free),
	  (gst_asm_scan_string), (gst_asm_scan_number),
	  (gst_asm_scan_identifier), (gst_asm_scan_print_token),
	  (gst_asm_scan_next_token), (gst_asm_rule_new), (gst_asm_rule_free),
	  (gst_asm_rule_add_property), (gst_asm_scan_parse_operand),
	  (gst_asm_scan_parse_expression), (gst_asm_scan_parse_condition),
	  (gst_asm_scan_parse_property), (gst_asm_scan_parse_rule),
	  (gst_asm_rule_evaluate), (gst_asm_rule_book_new),
	  (gst_asm_rule_book_n_rules), (gst_asm_rule_book_free),
	  (gst_asm_rule_book_match), (main):
	  * gst/realmedia/asmrules.h:
	  Added asembler rule book parser and evaluator.
	  * gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp),
	  (rtsp_ext_real_stream_select), (gst_rtsp_real_plugin_init):
	  * gst/realmedia/rtspreal.h:
	  Keep per stream config info.
	  Parse and evaluate asm rule books for stream selection.

2007-07-31 19:16:44 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/realmedia/rtspreal.c: Include stdlib.
	  Original commit message from CVS:
	  * gst/realmedia/rtspreal.c:
	  Include stdlib.

2007-07-27 16:39:45 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/: Split out hash code in separate file.
	  Original commit message from CVS:
	  * gst/realmedia/Makefile.am:
	  * gst/realmedia/realhash.c: (hash), (call_hash),
	  (gst_rtsp_ext_real_calc_response_and_checksum):
	  * gst/realmedia/realhash.h:
	  * gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports),
	  (rtsp_ext_real_after_send), (rtsp_ext_real_stream_select):
	  Split out hash code in separate file.

2007-07-27 10:12:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/: Fix include paths and link dependecies for rtsp extension.
	  Original commit message from CVS:
	  * gst/asfdemux/Makefile.am:
	  * gst/asfdemux/gstrtspwms.c: (gst_rtsp_wms_parse_sdp), (_do_init),
	  (gst_rtsp_wms_class_init):
	  * gst/realmedia/Makefile.am:
	  * gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports),
	  (rtsp_ext_real_before_send), (rtsp_ext_real_after_send),
	  (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select),
	  (_do_init), (gst_rtsp_real_class_init):
	  Fix include paths and link dependecies for rtsp extension.

2007-07-26 15:52:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/: Add RealMedia RTSP extension module. It has rank NONE until it is fully functional.
	  Original commit message from CVS:
	  * gst/realmedia/Makefile.am:
	  * gst/realmedia/rmdemux.c: (plugin_init):
	  * gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports),
	  (rtsp_ext_real_before_send), (rtsp_ext_real_after_send), (hash),
	  (call_hash), (rtsp_ext_real_calc_response_and_checksum),
	  (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select),
	  (_do_init), (gst_rtsp_real_base_init), (gst_rtsp_real_class_init),
	  (gst_rtsp_real_init), (gst_rtsp_real_finalize),
	  (gst_rtsp_real_change_state), (gst_rtsp_real_extension_init),
	  (gst_rtsp_real_plugin_init):
	  * gst/realmedia/rtspreal.h:
	  Add RealMedia RTSP extension module. It has rank NONE until it is fully
	  functional.

2007-07-25 18:38:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/asfdemux/: Move WMS RTSP extension from -good to here.
	  Original commit message from CVS:
	  * gst/asfdemux/Makefile.am:
	  * gst/asfdemux/gstasf.c: (plugin_init):
	  * gst/asfdemux/gstrtspwms.c: (gst_rtsp_wms_before_send),
	  (gst_rtsp_wms_after_send), (gst_rtsp_wms_parse_sdp),
	  (gst_rtsp_wms_configure_stream), (_do_init),
	  (gst_rtsp_wms_base_init), (gst_rtsp_wms_class_init),
	  (gst_rtsp_wms_init), (gst_rtsp_wms_finalize),
	  (gst_rtsp_wms_change_state), (gst_rtsp_wms_extension_init):
	  * gst/asfdemux/gstrtspwms.h:
	  Move WMS RTSP extension from -good to here.
	  Port it to the new pluggable extension interface.

2007-07-24 06:58:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/mad/Makefile.am: Link to audio helper from plugins-base.
	  Original commit message from CVS:
	  * ext/mad/Makefile.am:
	  Link to audio helper from plugins-base.

2007-07-24 05:05:29 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Use the new buffer clipping function from gstaudio here and require gst-plugins-base CVS.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  Use the new buffer clipping function from gstaudio here and
	  require gst-plugins-base CVS.

2007-07-23 09:07:19 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Sync liboil check with plugins-base. Add libm check.
	  Original commit message from CVS:
	  * configure.ac:
	  Sync liboil check with plugins-base. Add libm check.
	  * gst/synaesthesia/Makefile.am:
	  Link against libm. We're using sqrt here.

2007-07-20 07:58:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/asfdemux/gstasfdemux.c: Include stdlib.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c:
	  Include stdlib.

2007-07-20 07:41:57 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/annodex/Makefile.am: Fix CFLAGS/LIBS.
	  Original commit message from CVS:
	  * ext/annodex/Makefile.am:
	  Fix CFLAGS/LIBS.
	  * ext/cdio/gstcdiocddasrc.c:
	  * ext/libpng/gstpngdec.c: (gst_pngdec_task):
	  Include stdlib
	  * ext/cairo/Makefile.am:
	  * gst/videofilter/Makefile.am:
	  * tests/examples/level/Makefile.am:
	  Use $(LIBM) instead of -lm

2007-07-18 17:51:55 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Save some memory for each frame by only saving the start timestamp and start ...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
	  (gst_mp3parse_emit_frame), (mp3parse_handle_seek):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Save some memory for each frame by only saving the start timestamp
	  and start byte position instead of additionally the stop timestamp
	  and stop byte position. This requires us to use a doubly-linked list
	  but still saves 8-12 bytes per frame.

2007-07-16 09:14:18 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/mad/gstmad.c: Fix buffer clipping to correctly clip to the segment stop.
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (clip_outgoing_buffer):
	  Fix buffer clipping to correctly clip to the segment stop.

2007-07-15 19:39:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Fix a calculation that was causing mp3parse to drop every incoming frame when...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_emit_frame):
	  Fix a calculation that was causing mp3parse to drop every incoming
	  frame when upstream delivered a segment in TIME format, breaking
	  playback of all mpeg system streams.

2007-07-13 16:46:35 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Remove bogus check for libcheck, since we check for gstreamer-check and it pulls in the required info from and we wer...
	  Original commit message from CVS:
	  * Makefile.am:
	  * configure.ac:
	  * tests/Makefile.am:
	  Remove bogus check for libcheck, since we check for
	  gstreamer-check and it pulls in the required info from
	  and we weren't actually _using_ the information for
	  libcheck ourselves anyway.

2007-07-13 16:27:56 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Implement accurate seeking in mpegaudioparse. Fixes #308312.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
	  (gst_mp3parse_init), (gst_mp3parse_dispose),
	  (gst_mp3parse_sink_event), (mp3parse_seek_table_last_entry),
	  (gst_mp3parse_emit_frame), (gst_mp3parse_chain),
	  (mp3parse_handle_seek), (mp3parse_src_query):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Implement accurate seeking in mpegaudioparse. Fixes #308312.
	  Also implement segment seeks.

2007-07-13 15:46:13 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/mad/gstmad.*: Implement buffer clipping and use GST_BOILERPLATE instead of manual
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (_do_init), (gst_mad_init), (index_seek),
	  (normal_seek), (gst_mad_sink_event), (clip_outgoing_buffer),
	  (gst_mad_chain), (gst_mad_change_state):
	  * ext/mad/gstmad.h:
	  Implement buffer clipping and use GST_BOILERPLATE instead of manual
	  GType magic. Part one of bug #308312.

2007-07-12 11:21:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Use pkg-config to locate check.
	  Original commit message from CVS:
	  * configure.ac:
	  Use pkg-config to locate check.

2007-07-11 23:18:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Fix build against core CVS by not using deprecated API. Bump requirements for new API (overdue anyway).
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer):
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_descramble_buffer):
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
	  Fix build against core CVS by not using deprecated API. Bump
	  requirements for new API (overdue anyway).

2007-07-09 06:05:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  REQUIREMENTS: Also add amr-libs here and update a little.
	  Original commit message from CVS:
	  * REQUIREMENTS:
	  Also add amr-libs here and update a little.

2007-07-06 17:59:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/plugins/inspect/: Add inspect file for synaesthesia so the docs can be built even if the plugin isn't built yet....
	  Original commit message from CVS:
	  * docs/plugins/inspect/plugin-dvdnav.xml:
	  * docs/plugins/inspect/plugin-realmedia.xml:
	  * docs/plugins/inspect/plugin-synaesthesia.xml:
	  Add inspect file for synaesthesia so the docs can be built even if
	  the plugin isn't built yet. Fixes #454311. Also add inspect files
	  for dvdnavsrc and realmedia.

2007-07-05 08:44:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/plugins/Makefile.am: Simplify --extra-dir as gtkdoc scans recursively.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  Simplify --extra-dir as gtkdoc scans recursively.

2007-07-03 13:05:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  And yet more docs enabled.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  * gst/synaesthesia/Makefile.am:
	  * gst/synaesthesia/gstsynaesthesia.c:
	  * gst/synaesthesia/gstsynaesthesia.h:
	  And yet more docs enabled.

2007-07-03 11:55:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/plugins/: Add new docs. Scan c++ files too.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  * docs/plugins/inspect/plugin-a52dec.xml:
	  * docs/plugins/inspect/plugin-amrnb.xml:
	  * docs/plugins/inspect/plugin-asf.xml:
	  * docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	  * docs/plugins/inspect/plugin-dvdsub.xml:
	  * docs/plugins/inspect/plugin-iec958.xml:
	  * docs/plugins/inspect/plugin-lame.xml:
	  * docs/plugins/inspect/plugin-mad.xml:
	  * docs/plugins/inspect/plugin-mpeg2dec.xml:
	  * docs/plugins/inspect/plugin-mpegaudioparse.xml:
	  * docs/plugins/inspect/plugin-mpegstream.xml:
	  Add new docs. Scan c++ files too.
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_base_init),
	  (gst_amrnbdec_event):
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_base_init):
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_base_init),
	  (gst_amrnbparse_loop):
	  Add documentation headers.
	  * ext/mad/gstmad.c:
	  * ext/mad/gstmad.h:
	  Refactor for docs.

2007-07-01 19:12:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Use GST_BOILERPLATE instead of manual GType magic.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_base_init),
	  (gst_mp3parse_init):
	  Use GST_BOILERPLATE instead of manual GType magic.
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos),
	  (mp3parse_bytepos_to_time):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Implement seeking, byte->time, time->byte conversions with the Xing
	  seek table if available. This allows better at least a bit more
	  accurate seeks and file position reporting.

2007-06-28 20:33:51 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Copy the complete Xing seek table in the 100 byte array instead of copying th...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_handle_first_frame):
	  Copy the complete Xing seek table in the 100 byte array instead of
	  copying the first byte 100 times.
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3parse_total_bytes),
	  (mp3parse_total_time), (mp3parse_time_to_bytepos):
	  Add seeking support based on the Xing header but comment it out for
	  now as it seems to yield worse result than the other method.
	  Also use gst_pad_query_peer_duration() instead of getting the peer pad
	  ourself, creating a new GstQuery, etc.

2007-06-25 12:46:47 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/plugins/: Update docs with caps info.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-ugly-plugins.args:
	  * docs/plugins/inspect/plugin-a52dec.xml:
	  * docs/plugins/inspect/plugin-amrnb.xml:
	  * docs/plugins/inspect/plugin-asf.xml:
	  * docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	  * docs/plugins/inspect/plugin-dvdread.xml:
	  * docs/plugins/inspect/plugin-dvdsub.xml:
	  * docs/plugins/inspect/plugin-iec958.xml:
	  * docs/plugins/inspect/plugin-lame.xml:
	  * docs/plugins/inspect/plugin-mad.xml:
	  * docs/plugins/inspect/plugin-mpeg2dec.xml:
	  * docs/plugins/inspect/plugin-mpegaudioparse.xml:
	  * docs/plugins/inspect/plugin-mpegstream.xml:
	  Update docs with caps info.

2007-06-25 12:25:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  po/POTFILES.in: Make sure dvdnav strings get translated too (no reason not to have them in the .po file, even if the ...
	  Original commit message from CVS:
	  * po/POTFILES.in:
	  Make sure dvdnav strings get translated too (no reason not to have
	  them in the .po file, even if the plugin is disabled for now).
	  Fixes #450879.

2007-06-25 11:46:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/amrnb/: Add newsegment and discont handling. Some code cleanups.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_base_init),
	  (gst_amrnbdec_event), (gst_amrnbdec_chain),
	  (gst_amrnbdec_state_change):
	  * ext/amrnb/amrnbdec.h:
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_base_init),
	  (gst_amrnbparse_loop):
	  Add newsegment and discont handling. Some code cleanups.

2007-06-25 07:55:51 +0000  David Schleef <ds@schleef.org>

	  ext/dvdread/dvdreadsrc.c: check for an error from
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: check for an error from
	  DVDReadBlocks() correctly.

2007-06-25 07:22:10 +0000  David Schleef <ds@schleef.org>

	  ext/dvdread/dvdreadsrc.c: If we can't read a nav packet, or it doesn't look like a nav packet, that's an error.  Prev...
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c:
	  If we can't read a nav packet, or it doesn't look like a nav
	  packet, that's an error.  Previous behavior was to look at
	  the next packet; I can't find any justification for doing that.
	  Fixes: #358891.

2007-06-23 22:57:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/it.po: Updated Italian translation.
	  Original commit message from CVS:
	  * po/it.po:
	  Updated Italian translation.

2007-06-23 11:22:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/vi.po: Updated Vietnames translation.
	  Original commit message from CVS:
	  * po/vi.po:
	  Updated Vietnames translation.

2007-06-23 11:21:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/: Added Chinese (simplified) translation.
	  Original commit message from CVS:
	  contributed by: Wenzheng Hu <db_lobster@163.com>
	  * po/LINGUAS:
	  * po/zh_CN.po:
	  Added Chinese (simplified) translation.

2007-06-22 14:27:18 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  MAINTAINERS: Updating all the maintainers files
	  Original commit message from CVS:
	  * MAINTAINERS:
	  Updating all the maintainers files

2007-06-22 10:57:06 +0000  Edward Hervey <bilboed@bilboed.com>

	  Fix leaks some more.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_init):
	  * gst/ac3parse/gstac3parse.c: (gst_ac3parse_init):
	  * gst/asfdemux/gstasfmux.c: (gst_asfmux_init):
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_init):
	  * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_init):
	  * gst/iec958/ac3iec.c: (ac3iec_init):
	  * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_init):
	  Fix leaks some more.

2007-06-21 14:33:58 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: "She's leaking me", said valgrind.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_init):
	  "She's leaking me", said valgrind.

2007-06-19 14:40:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Fix "pad caps are not a real subset of its template caps" warning.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_caps_create):
	  Fix "pad caps are not a real subset of its template caps" warning.

2007-06-19 14:15:50 +0000  Laurent Glayal <spglegle@yahoo.fr>

	  ext/amrnb/amrnbdec.c: Don't leak the adapter, unref it in a new finalize method instead.
	  Original commit message from CVS:
	  Patch by: Laurent Glayal <spglegle at yahoo dot fr>
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_class_init),
	  (gst_amrnbdec_finalize):
	  Don't leak the adapter, unref it in a new finalize method instead.
	  Fixes #448782.

2007-06-19 10:43:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Back to CVS
	  Original commit message from CVS:
	  * configure.ac:
	  Back to CVS
	  * gst-plugins-ugly.doap:
	  Add 0.10.6 to the list of releases.

=== release 0.10.6 ===

2007-06-19 10:31:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-asf.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-dvdread.xml:
	* docs/plugins/inspect/plugin-dvdsub.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	  Release 0.10.6
	  Original commit message from CVS:
	  Release 0.10.6

2007-06-19 10:21:25 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* po/af.po:
	* po/az.po:
	* po/cs.po:
	* po/da.po:
	* po/en_GB.po:
	* po/hu.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/uk.po:
	* po/vi.po:
	  Update .po files
	  Original commit message from CVS:
	  Update .po files

2007-06-15 09:31:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  win32/vs6/: Convert line endings to CRLF and mark as binary files.
	  Original commit message from CVS:
	  * win32/vs6/gst_plugins_ugly.dsw:
	  * win32/vs6/libgstac3parse.dsp:
	  * win32/vs6/libgstasfdemux.dsp:
	  * win32/vs6/libgstdvdlpcmdec.dsp:
	  * win32/vs6/libgstdvdsub.dsp:
	  * win32/vs6/libgstiec958.dsp:
	  * win32/vs6/libgstlame.dsp:
	  * win32/vs6/libgstmad.dsp:
	  * win32/vs6/libgstmpegaudioparse.dsp:
	  * win32/vs6/libgstmpegstream.dsp:
	  * win32/vs6/libgstrealmedia.dsp:
	  * win32/vs6/libgstsynaesthesia.dsp:
	  Convert line endings to CRLF and mark as binary files.

2007-06-13 14:29:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdnav/dvdnavsrc.c: Don't forget to unlock when setting the device property, or we'll sooner or later deadlock.
	  Original commit message from CVS:
	  * ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_set_property):
	  Don't forget to unlock when setting the device property, or
	  we'll sooner or later deadlock.

2007-06-12 21:46:10 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst/dvdsub/gstdvdsubdec.c: Use gst_util_guint64_to_gdouble for conversion.
	  Original commit message from CVS:
	  * gst/dvdsub/gstdvdsubdec.c:(gst_dvd_sub_dec_parse_subpic):
	  Use gst_util_guint64_to_gdouble for conversion.
	  * win32/vs6/libgstasfdemux.dsp:
	  Add asfpacket.c to the build.

2007-06-08 08:39:43 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegaudioparse/gstmpegaudioparse.*: If the Xing header provides a total time, use it to calculate the correct ave...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
	  (gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  If the Xing header provides a total time, use it to calculate the
	  correct average bitrate immediately, instead of sending updates as
	  we parse the stream.

2007-06-05 21:47:29 +0000  by Mark Nauwelaerts <manauw@skynet.be>

	  gst/dvdsub/gstdvdsubdec.c: Use GstClockTime instead of guint for a time variable to prevent overflows on too large su...
	  Original commit message from CVS:
	  Patch by by: Mark Nauwelaerts <manauw at skynet dot be>
	  * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_parse_subpic):
	  Use GstClockTime instead of guint for a time variable to prevent
	  overflows on too large subtitle durations. Fixes #444514.

2007-05-31 22:33:26 +0000  Mark Nauwelaerts <manauw@skynet.be>

	  gst/dvdsub/gstdvdsubdec.c: Clear state when handling the serialized FLUSH_STOP event instead of the FLUSH_START event...
	  Original commit message from CVS:
	  Patch by: Mark Nauwelaerts <manauw at skynet be>
	  * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_sink_event):
	  Clear state when handling the serialized FLUSH_STOP event instead of
	  the FLUSH_START event, thereby making sure we don't free buffers the
	  chain function is still using. Fixes dvdsubdec crashing when flusing
	  or seeking (#442706).

2007-05-23 11:16:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Initialise variable to make fc4 build bot happy.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
	  Initialise variable to make fc4 build bot happy.

2007-05-21 15:11:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/gstmpegdemux.c: Add sanity check so we don't abort for broken or non-MPEG streams, but instead error o...
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer):
	  Add sanity check so we don't abort for broken or non-MPEG streams,
	  but instead error out. Fixes crashes/aborts for when our typefinder
	  wrongly identifies quicktime files as mpeg (which should be fixed in
	  -base now too). (#440120).

2007-05-18 09:35:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	* ChangeLog:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	* ext/amrnb/amrnbparse.c:
	  ext/amrnb/amrnbdec.c (gst_amrnbdec_debug, GST_CAT_DEFAULT, block_size, _do_init, gst_amrnbdec_base_init, gst_amrnbdec...
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c (gst_amrnbdec_debug, GST_CAT_DEFAULT,
	  block_size, _do_init, gst_amrnbdec_base_init,
	  gst_amrnbdec_class_init, gst_amrnbdec_init):
	  * ext/amrnb/amrnbenc.c (gst_amrnbenc_debug, GST_CAT_DEFAULT, _do_init,
	  gst_amrnbenc_base_init, gst_amrnbenc_class_init, gst_amrnbenc_init):
	  * ext/amrnb/amrnbparse.c (gst_amrnbparse_debug, GST_CAT_DEFAULT,
	  block_size, _do_init, gst_amrnbparse_base_init,
	  gst_amrnbparse_class_init, gst_amrnbparse_init):
	  First round of cleanups, that use GST_BOILERPLATE, GST_ELEMENT_DETAILS,
	  GST_DEBUG_FUNCPTR and add log-category.

2007-05-18 08:42:25 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Implement parsing of Xing headers from the first frame of the stream, and use...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (mp3_type_frame_length_from_header), (gst_mp3parse_reset),
	  (gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame),
	  (gst_mp3parse_chain), (mp3parse_total_bytes),
	  (mp3parse_total_time):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Implement parsing of Xing headers from the first frame of the stream,
	  and use it to report duration correctly where possible.

2007-05-16 19:15:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: After descrambling, push the packets out as individual packets instead of one big descramble...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_descramble_cook_audio):
	  After descrambling, push the packets out as individual packets
	  instead of one big descrambled buffer. Makes cook audio decoding
	  work with the 'realaudiodec' decoder from gst-plugins-bad.

2007-05-16 19:07:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.*: Remember first timestamp encountered in stream and re-timestamp stream to start from zero (f...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_init),
	  (gst_rmdemux_sink_event), (gst_rmdemux_perform_seek),
	  (gst_rmdemux_reset), (gst_rmdemux_chain), (gst_rmdemux_add_stream),
	  (gst_rmdemux_parse_packet):
	  * gst/realmedia/rmdemux.h:
	  Remember first timestamp encountered in stream and re-timestamp
	  stream to start from zero (fixes #397219); only send one newsegment
	  event, not two; when seeking, send newsegment events from the
	  streaming thread and not from the seeking thread.

2007-05-16 12:48:43 +0000  Mark Nauwelaerts <manauw@skynet.be>

	  gst/mpegstream/: Reset last_flow values for the various streams after a flushing seek, otherwise we might aggregate w...
	  Original commit message from CVS:
	  Based on patch by: Mark Nauwelaerts  <manauw skynet be>
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init),
	  (gst_mpeg_demux_process_event), (gst_mpeg_streams_reset_last_flow):
	  * gst/mpegstream/gstmpegdemux.h:
	  Reset last_flow values for the various streams after a flushing
	  seek, otherwise we might aggregate wrong flow returns afterwards
	  that will make upstream pause silently. This should fix seeking
	  in DVDs and also fix the Thoggen cropping dialog (#438610).

2007-05-07 13:51:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.*: Activate streams (ie. add the pads to the element) depending on whether we actually get d...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_reset),
	  (gst_asf_demux_chain_headers),
	  (gst_asf_demux_parse_data_object_start), (all_streams_prerolled),
	  (gst_asf_demux_have_mutually_exclusive_active_stream),
	  (gst_asf_demux_check_activate_streams),
	  (gst_asf_demux_find_stream_with_complete_payload),
	  (gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop),
	  (gst_asf_demux_activate_ext_props_streams),
	  (gst_asf_demux_process_object):
	  * gst/asfdemux/gstasfdemux.h:
	  Activate streams (ie. add the pads to the element) depending on
	  whether we actually get data for those streams within the ASF
	  preroll value specified. Currently only done in pull-mode though
	  (this will fix problems with playbin hanging on mms streams once
	  we use this in push-mode as well).

2007-05-04 11:04:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Make all timestamps start from zero in pull-mode too; some small clean-ups and FIXMEs here and there.
	  Original commit message from CVS:
	  * gst/asfdemux/asfpacket.c: (gst_asf_payload_queue_for_stream):
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_reset),
	  (gst_asf_demux_init), (gst_asf_demux_push_complete_payloads),
	  (gst_asf_demux_process_file):
	  * gst/asfdemux/gstasfdemux.h:
	  Make all timestamps start from zero in pull-mode too; some small
	  clean-ups and FIXMEs here and there.

2007-05-01 11:10:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/asfpacket.c: If packet size is specified within the packet and smaller than the actual packet size, don'...
	  Original commit message from CVS:
	  * gst/asfdemux/asfpacket.c: (gst_asf_demux_parse_payload),
	  (gst_asf_demux_parse_packet):
	  If packet size is specified within the packet and smaller than
	  the actual packet size, don't parse beyond the size specified in
	  the packet (this makes us parse some cases of packets with single
	  compressed payloads cleanly, see e.g stream from #431318). Also
	  add a sanity check when parsing compressed single payloads.

2007-05-01 09:19:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Seeking improvements: honour the KEY_UNIT seek flag; after a seek, only send data from the keyframe ri...
	  Original commit message from CVS:
	  * gst/asfdemux/asfpacket.c: (gst_asf_payload_queue_for_stream):
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_seek_index_lookup),
	  (gst_asf_demux_handle_seek_event),
	  (gst_asf_demux_push_complete_payloads):
	  Seeking improvements: honour the KEY_UNIT seek flag; after a seek, only
	  send data from the keyframe right before the new segment start to
	  make sure the decoder doesn't have to decode more than absolutely
	  necessary.

2007-04-30 15:36:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Implement payload extension system/extended replicated data parsing, so we can extract payload duratio...
	  Original commit message from CVS:
	  * gst/asfdemux/asfheaders.c:
	  * gst/asfdemux/asfheaders.h:
	  * gst/asfdemux/asfpacket.c:
	  (asf_payload_parse_replicated_data_extensions),
	  (gst_asf_demux_parse_payload):
	  * gst/asfdemux/asfpacket.h:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
	  (gst_asf_demux_push_complete_payloads),
	  (gst_asf_demux_process_ext_stream_props):
	  * gst/asfdemux/gstasfdemux.h:
	  Implement payload extension system/extended replicated data parsing,
	  so we can extract payload durations if they're specified.

2007-04-30 11:41:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Refactor stream parse/activation a bit (stream activation heuristics are still the same though); some ...
	  Original commit message from CVS:
	  * gst/asfdemux/asfheaders.h:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
	  (gst_asf_demux_reset), (gst_asf_demux_parse_data_object_start),
	  (gst_asf_demux_loop), (gst_asf_demux_setup_pad),
	  (gst_asf_demux_add_audio_stream), (gst_asf_demux_activate_stream),
	  (gst_asf_demux_parse_stream_object),
	  (gst_asf_demux_process_ext_stream_props),
	  (gst_asf_demux_process_queued_extended_stream_objects),
	  (gst_asf_demux_activate_ext_props_streams),
	  (gst_asf_demux_process_object):
	  * gst/asfdemux/gstasfdemux.h:
	  Refactor stream parse/activation a bit (stream activation heuristics
	  are still the same though); some more clean-ups.

2007-04-28 12:23:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  win32/common/.cvsignore: Ignore generated config.h file to make build bot happy.
	  Original commit message from CVS:
	  * win32/common/.cvsignore:
	  Ignore generated config.h file to make build bot happy.

2007-04-28 10:49:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Init debug category before using it.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasf.c: (plugin_init):
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init):
	  * gst/asfdemux/gstasfdemux.h:
	  Init debug category before using it.

2007-04-27 18:39:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Fix silly bug when we can't pull as much data as we want; don't forget to announce pendin...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_pull_data),
	  (gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop):
	  Fix silly bug when we can't pull as much data as we want; don't
	  forget to announce pending tags in the new packet parsing code.

2007-04-25 17:23:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Generate a win32 config.h into win32/common and add to MANIFEST so it gets disted (#393890). Looks like win32/common/...
	  Original commit message from CVS:
	  * configure.ac:
	  * win32/MANIFEST:
	  Generate a win32 config.h into win32/common and add to MANIFEST so
	  it gets disted (#393890). Looks like win32/common/config.h.in needs
	  some work though.

2007-04-22 22:41:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/amrnb/amrnbparse.c: Fix pull mode operation some more: send newsegment event before sending data; handle EOS and ...
	  Original commit message from CVS:
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_get_type),
	  (gst_amrnbparse_class_init), (gst_amrnbparse_init),
	  (gst_amrnbparse_pull_header), (gst_amrnbparse_loop):
	  Fix pull mode operation some more: send newsegment event before
	  sending data; handle EOS and fatal flow returns a bit better; don't
	  leak buffers in some cases. Misc. minor cleanups. Fixes #431707.

2007-04-20 20:57:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: New packet parsing code: should put halfway decent timestamps on buffers, and might even set the appro...
	  Original commit message from CVS:
	  * gst/asfdemux/Makefile.am:
	  * gst/asfdemux/asfpacket.c: (asf_packet_read_varlen_int),
	  (asf_packet_create_payload_buffer),
	  (asf_payload_find_previous_fragment),
	  (gst_asf_payload_queue_for_stream), (gst_asf_demux_parse_payload),
	  (gst_asf_demux_parse_packet):
	  * gst/asfdemux/asfpacket.h:
	  * gst/asfdemux/gstasfdemux.c:
	  (gst_asf_demux_reset_stream_state_after_discont),
	  (gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop),
	  (gst_asf_demux_setup_pad), (gst_asf_demux_descramble_buffer),
	  (gst_asf_demux_process_chunk):
	  * gst/asfdemux/gstasfdemux.h:
	  New packet parsing code: should put halfway decent timestamps on
	  buffers, and might even set the appropriate keyframe/discont buffer
	  flags from time to time (and even if it doesn't, I'm at least able
	  to debug this code); only used in pull-mode so far. Still needs
	  some more work, like payload extensions parsing and proper flow
	  aggregation, and stream activation based on preroll. Stay tuned.

2007-04-20 17:32:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Some clean-ups and small fixes: rename asf_stream_context structure to
	  Original commit message from CVS:
	  * gst/asfdemux/asfheaders.h:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
	  (gst_asf_demux_seek_index_lookup),
	  (gst_asf_demux_handle_seek_event), (gst_asf_demux_get_stream),
	  (gst_asf_demux_setup_pad), (gst_asf_demux_add_video_stream),
	  (gst_asf_demux_process_ext_content_desc),
	  (gst_asf_demux_process_file), (gst_asf_demux_descramble_segment),
	  (gst_asf_demux_push_buffer), (gst_asf_demux_process_chunk),
	  (gst_asf_demux_process_segment), (gst_asf_demux_handle_data):
	  * gst/asfdemux/gstasfdemux.h:
	  Some clean-ups and small fixes: rename asf_stream_context structure to
	  AsfStream; inline some three-line utility functions that are only used
	  once anyway and get rid of their associated helper structs; make debug
	  category global so that it is used by the debug statements in the other
	  file as well; simplify gst_asf_demux_get_stream(); fix accidental
	  implicit initialisation of stream->last_buffer_timestamp to 0, which
	  would lead to missing timestamps on the first buffer; put fourcc format
	  into video caps to make certain proprietary wmv decoders happy (for the
	  case of WMVA in particular); play_time is offset by preroll as well, so
	  fix overreporting of duration for some files.

2007-04-17 10:21:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Printf format fixes.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_seek_event),
	  (gst_asf_demux_pull_indices):
	  Printf format fixes.

2007-04-16 16:30:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/gstmpegparse.c: Post an error message if EOS wasn't handled by anything downstream.
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event),
	  (gst_mpeg_parse_send_event):
	  Post an error message if EOS wasn't handled by anything downstream.
	  This should fix playbin freezing/hanging with small VobSub subtitle
	  files (background: not-linked flow returns from downstream are
	  ignored for a while at the beginning, so if the file is small
	  upstream will never get a not-linked flow return even if nothing
	  is connected downstream). (#429960).

2007-04-16 15:15:07 +0000  Michael Smith <msmith@xiph.org>

	  ext/amrnb/amrnbparse.c: Rewrite terminally broken sinkpad activation code. and push mode activation doesn't leave the...
	  Original commit message from CVS:
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_init),
	  (gst_amrnbparse_sink_activate),
	  (gst_amrnbparse_sink_activate_pull):
	  Rewrite terminally broken sinkpad activation code.
	  Now actually supports pull-mode activation (didn't before), and push
	  mode activation doesn't leave the sinkpad flushing.

2007-04-12 13:38:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Make asfdemux work in pull mode where possible. If there's an index at the end of the file, read it an...
	  Original commit message from CVS:
	  * gst/asfdemux/asfheaders.c:
	  * gst/asfdemux/asfheaders.h:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
	  (gst_asf_demux_reset), (gst_asf_demux_init),
	  (gst_asf_demux_activate), (gst_asf_demux_activate_push),
	  (gst_asf_demux_activate_pull), (gst_asf_demux_sink_event),
	  (gst_asf_demux_seek_index_lookup),
	  (gst_asf_demux_reset_stream_state_after_discont),
	  (gst_asf_demux_handle_seek_event),
	  (gst_asf_demux_handle_src_event), (gst_asf_demux_chain_headers),
	  (gst_asf_demux_chain), (gst_asf_demux_pull_data),
	  (gst_asf_demux_pull_indices),
	  (gst_asf_demux_parse_data_object_start),
	  (gst_asf_demux_pull_headers), (gst_asf_demux_loop),
	  (gst_asf_demux_setup_pad), (gst_asf_demux_process_file),
	  (gst_asf_demux_process_simple_index),
	  (gst_asf_demux_process_object),
	  (gst_asf_demux_send_event_unlocked), (gst_asf_demux_push_buffer),
	  (gst_asf_demux_handle_data), (gst_asf_demux_change_state):
	  * gst/asfdemux/gstasfdemux.h:
	  Make asfdemux work in pull mode where possible. If there's an index
	  at the end of the file, read it and use it for seeking purposes.

2007-04-12 10:19:18 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/synaesthesia/gstsynaesthesia.c: Some timestamp fixes.
	  Original commit message from CVS:
	  * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init),
	  (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_setcaps),
	  (gst_synaesthesia_chain), (gst_synaesthesia_change_state):
	  Some timestamp fixes.
	  * gst/synaesthesia/synaescope.c: (synaescope_coreGo):
	  Fix for 64-bit machines.

2007-04-12 10:10:22 +0000  René Stadler <mail@renestadler.de>

	  gst/realmedia/rmdemux.*: Make rmdemux handle any number of logical streams. Fixes #428698.
	  Original commit message from CVS:
	  Patch by: René Stadler <mail at renestadler dot de>
	  * gst/realmedia/rmdemux.c: (find_seek_offset_bytes),
	  (find_seek_offset_time), (gst_rmdemux_reset),
	  (gst_rmdemux_get_stream_by_id), (gst_rmdemux_send_event),
	  (gst_rmdemux_add_stream), (gst_rmdemux_combine_flows):
	  * gst/realmedia/rmdemux.h:
	  Make rmdemux handle any number of logical streams. Fixes #428698.

2007-04-05 13:48:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* po/nl.po:
	  update dutch
	  Original commit message from CVS:
	  update dutch

2007-04-05 13:48:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/: Added Danish translation.
	  Original commit message from CVS:
	  submitted by: Mogens Jaeger <mogens@jaeger.tf>
	  * po/LINGUAS:
	  * po/da.po:
	  Added Danish translation.

2007-03-28 16:01:06 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	  po/.cvsignore: Add pot.
	  Original commit message from CVS:
	  * po/.cvsignore:
	  Add pot.

2007-03-27 12:02:49 +0000  Julien Moutte <julien@moutte.net>

	  ext/mad/gstmad.c: Generate a perfect stream and try to adapt to incoming timestamps lack of precision up to half a fr...
	  Original commit message from CVS:
	  2007-03-27  Julien MOUTTE  <julien@moutte.net>
	  * ext/mad/gstmad.c: (gst_mad_chain): Generate a perfect
	  stream and try to adapt to incoming timestamps lack of
	  precision up to half a frame. This allows generating
	  a perfect stream even with muxed formats like FLV where
	  the timestamps are stored in milliseconds.

2007-03-22 21:44:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: Remove unused zlib.h include. Fixes #421594.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c:
	  Remove unused zlib.h include. Fixes #421594.

2007-03-21 12:53:57 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/lame/gstlame.c: Disable the bitrate checking when the user has requested
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_setup):
	  Disable the bitrate checking when the user has requested
	  Free Format mode, as all bitrates less than the maximum
	  are valid then.

2007-03-14 15:21:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/: Update translations.
	  Original commit message from CVS:
	  * po/hu.po:
	  * po/it.po:
	  * po/sv.po:
	  Update translations.

2007-03-12 17:26:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/mad/gstmad.c: When handling seeks, don't convert -1 start or stop values to a bogus byte position - pass them ups...
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_convert_src):
	  When handling seeks, don't convert -1 start or stop values to a bogus
	  byte position - pass them upstream as -1.

2007-03-12 10:47:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Implement seeking via average bitrate, and position+duration querying in mp3p...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (mp3_type_frame_length_from_header), (gst_mp3parse_reset),
	  (gst_mp3parse_init), (gst_mp3parse_sink_event),
	  (gst_mp3parse_emit_frame), (gst_mp3parse_chain),
	  (gst_mp3parse_change_state), (mp3parse_time_to_bytepos),
	  (mp3parse_bytepos_to_time), (mp3parse_total_bytes),
	  (mp3parse_total_time), (mp3parse_handle_seek),
	  (mp3parse_src_event), (mp3parse_src_query),
	  (mp3parse_get_query_types), (plugin_init):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Implement seeking via average bitrate, and position+duration
	  querying in mp3parse. Later, it will support frame-accurate seeking by
	  building a seek table as it parses.
	  Add 'parsed=false' to the sink pad caps, and 'parsed=true' to the src
	  pad caps. Bump the priority to PRIMARY+1 so that it is autoplugged
	  before any extant MP3 decoder plugin. This allows us to remove framing
	  support from the decoders, if we want, and will provide them with
	  accurate seeking automatically once it is finished.
	  Fix the handling of MPEG-1 Layer 1 files.
	  Partially fix timestamping of packets arriving from a demuxer by
	  queueing the incoming timestamp until the next packet starts, rather
	  than applying it immediately to the next pushed buffer.

2007-03-10 15:56:26 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Printf format fix.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_header_ext):
	  Printf format fix.

2007-03-04 17:13:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/cdio/gstcdiocddasrc.c: Make sure we always destroy our libcdio handle.
	  Original commit message from CVS:
	  * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open),
	  (gst_cdio_cdda_src_finalize):
	  Make sure we always destroy our libcdio handle.

2007-03-02 16:08:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/cdio/gstcdiocddasrc.c: Small code cleanups.
	  Original commit message from CVS:
	  * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_probe_devices),
	  (gst_cdio_cdda_src_read_sector), (gst_cdio_cdda_src_open),
	  (gst_cdio_cdda_src_finalize):
	  Small code cleanups.
	  Don't use pad_alloc as the base class cannot deal with the error codes.

2007-03-02 13:01:48 +0000  Zaheer Abbas Merali <zaheermerali@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.c: Never post a (fatal) error message on the bus on decoding errors. We should only do this ...
	  Original commit message from CVS:
	  Patch by: Zaheer Abbas Merali  <zaheermerali at gmail com>
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_chain):
	  Never post a (fatal) error message on the bus on decoding errors. We
	  should only do this if we can't recover, but mpeg2dec can always
	  recover. This is needed for DVB streams, for example, where there
	  may be temporary glitches in the stream. Instead of an error
	  message, post a warning message on the bus for every N decoding
	  errors. Fixes #370020.

2007-02-28 19:30:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  configure.ac: Convert to new AG_GST style.
	  Original commit message from CVS:
	  * configure.ac:
	  Convert to new AG_GST style.

2007-02-28 18:41:38 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/lame/gstlame.c: Display sensible defaults and limits for the vbr-min/max/mean properties. Fix the 'hard-limit' VB...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init),
	  (gst_lame_setup):
	  Display sensible defaults and limits for the
	  vbr-min/max/mean properties. Fix the 'hard-limit' VBR min
	  property - it's supposed to be a boolean 0/1 value.

2007-02-28 16:01:08 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/lame/gstlame.c: Initialise the variables so gcc doesn't complain about possibly uninitialised uses, even though t...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c:
	  Initialise the variables so gcc doesn't complain about possibly
	  uninitialised uses, even though they can't actually happen.

2007-02-28 15:52:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/dvdlpcmdec/gstdvdlpcmdec.*: Implement all sample rates.
	  Original commit message from CVS:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset),
	  (update_timestamps), (parse_header), (gst_dvdlpcmdec_chain_dvd),
	  (gst_dvdlpcmdec_chain_raw), (dvdlpcmdec_sink_event):
	  * gst/dvdlpcmdec/gstdvdlpcmdec.h:
	  Implement all sample rates.
	  Implement sample permutation a little smarter avoiding a memcpy.
	  Fix timestamps, use segments, fix seeking.

2007-02-28 15:49:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Document siddec.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  * docs/plugins/inspect/plugin-siddec.xml:
	  * ext/sidplay/gstsiddec.cc:
	  * ext/sidplay/gstsiddec.h:
	  Document siddec.

2007-02-21 16:02:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/lame/gstlame.c: Fix up bitrate checking macro.  Make it give us a
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_setcaps),
	  (gst_lame_set_property), (gst_lame_setup):
	  Fix up bitrate checking macro.  Make it give us a
	  GST_ELEMENT_WARNING message so the application has a chance of
	  reporting this to the user.  Move the checking to _setup, so we
	  are sure it runs in the READY state, when we hope to have a pipeline
	  and a bus that is not flushing.
	  This fixes e.g. using 96 kbit/sec as a bitrate.

2007-02-15 19:55:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.*: Parse advanced mutual exclusion object and only add pads for 'hidden' streams (those in a...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_file),
	  (gst_asf_demux_process_advanced_mutual_exclusion),
	  (gst_asf_demux_process_queued_extended_stream_objects),
	  (gst_asf_demux_process_object), (gst_asf_demux_change_state):
	  * gst/asfdemux/gstasfdemux.h:
	  Parse advanced mutual exclusion object and only add pads for
	  'hidden' streams (those in an extended stream header) that are
	  mutually exclusive with an already existing 'main stream' if
	  the broadcasting flag is not set. If the broadcasting flag is set,
	  assume that data for this stream isn't sent. (This should ideally be
	  solved better by making playbin more robust against this and/or by
	  making mmssrc send some information downstream about which streams
	  will be streamed). Fixes #353116.

2007-02-13 12:00:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/synaesthesia/: Move all the mutable engine state into a structure so that multiple element instances can run with...
	  Original commit message from CVS:
	  * gst/synaesthesia/gstsynaesthesia.c:
	  (gst_synaesthesia_class_init), (gst_synaesthesia_init),
	  (gst_synaesthesia_finalize), (gst_synaesthesia_chain):
	  * gst/synaesthesia/synaescope.c: (synaescope_coreGo),
	  (synaescope32), (synaescope_set_data), (synaesthesia_update),
	  (synaesthesia_init), (synaesthesia_new), (synaesthesia_close):
	  * gst/synaesthesia/synaescope.h:
	  Move all the mutable engine state into a structure so that
	  multiple element instances can run without interfering.

2007-02-13 09:15:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Add crossreferences to glib/gobject/gstream docs.
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/plugins/Makefile.am:
	  Add crossreferences to glib/gobject/gstream docs.

2007-02-12 12:46:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/synaesthesia/: More source cleanups and add FIXME comments.
	  Original commit message from CVS:
	  * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init),
	  (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps),
	  (gst_synaesthesia_src_setcaps), (gst_synaesthesia_chain),
	  (plugin_init):
	  * gst/synaesthesia/synaescope.c: (synaescope_coreGo),
	  (synaescope8):
	  More source cleanups and add FIXME comments.

2007-02-11 13:42:45 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst/realmedia/rmdemux.c: Use gst_guint64_to_gdouble for conversions.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c:(gst_rmdemux_parse_indx_data):
	  Use gst_guint64_to_gdouble for conversions.
	  * gst/synaesthesia/synaescope.c:
	  Define M_PI and do not include <pthread.h> and
	  <sys/time.h> for G_OS_WIN32
	  * win32/vs6/libgstrealmedia.dsp:
	  * win32/vs6/synaesthesia.dsp:
	  Update projects files.
	  * win32/common/config.h.in:
	  Add config.h.in for autogen of config.h

2007-02-11 10:51:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Add --enable-experimental support. Activate synaesthesia when building with --enable-experimental. Fix ...
	  Original commit message from CVS:
	  * configure.ac:
	  Add --enable-experimental support. Activate synaesthesia when building
	  with --enable-experimental. Fix --enable external configure switch
	  description.

2007-02-09 16:24:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.*: On receiving EOS, we try to push a last buffer with the remaining samples. Don't do that if we go...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_event), (gst_lame_chain),
	  (gst_lame_change_state):
	  * ext/lame/gstlame.h:
	  On receiving EOS, we try to push a last buffer with the remaining
	  samples. Don't do that if we got an unclean flow return on the last
	  gst_pad_push(), downstream might not handle this very gracefully
	  (see #403168).
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
	  Pass flow returns upstream (helps #403168).

2007-02-09 08:03:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/synaesthesia/gstsynaesthesia.c: check result of gst_pad_push() in _chain.
	  Original commit message from CVS:
	  * gst/synaesthesia/gstsynaesthesia.c:
	  (gst_synaesthesia_class_init), (gst_synaesthesia_init),
	  (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps),
	  (gst_synaesthesia_chain), (plugin_init):
	  check result of gst_pad_push() in _chain.

2007-02-09 07:48:50 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/synaesthesia/: Added docs (not yet added to gst-plugins-ugl/docs/plugins as plugin is not built by default). Fixe...
	  Original commit message from CVS:
	  * gst/synaesthesia/Makefile.am:
	  * gst/synaesthesia/gstsynaesthesia.c:
	  (gst_synaesthesia_class_init), (gst_synaesthesia_init),
	  (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps),
	  (gst_synaesthesia_chain), (plugin_init):
	  * gst/synaesthesia/synaescope.c:
	  * gst/synaesthesia/synaescope.h:
	  Added docs (not yet added to gst-plugins-ugl/docs/plugins as plugin is not
	  built by default). Fixed Makefile.am. Fixed license headers (its GPL as it
	  is derived from GPL code). Fixed GST_SYNAESTHESIA_CLASS macro. Added
	  GST_DEBUG_FUNCPTR. Reflowed _setcaps. Updated pad setup in _init. Fix
	  possible leak in _chain. (#356882)

2007-02-08 21:07:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Refactor and clean up header parsing and chain function a bit; get rid of some cruft; make header pars...
	  Original commit message from CVS:
	  * gst/asfdemux/asfheaders.c:
	  * gst/asfdemux/asfheaders.h:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init),
	  (gst_asf_demux_sink_event), (gst_asf_demux_handle_seek_event),
	  (gst_asf_demux_identify_guid), (asf_demux_peek_object),
	  (gst_asf_demux_chain_headers), (gst_asf_demux_chain),
	  (gst_asf_demux_setup_pad), (gst_asf_demux_process_stream),
	  (gst_asf_demux_process_ext_content_desc),
	  (gst_asf_demux_get_object_header), (gst_asf_demux_process_header),
	  (gst_asf_demux_process_file), (gst_asf_demux_process_comment),
	  (gst_asf_demux_process_bitrate_props_object),
	  (gst_asf_demux_process_header_ext),
	  (gst_asf_demux_process_language_list),
	  (gst_asf_demux_process_ext_stream_props),
	  (gst_asf_demux_process_queued_extended_stream_objects),
	  (gst_asf_demux_process_object), (gst_asf_demux_change_state):
	  * gst/asfdemux/gstasfdemux.h:
	  Refactor and clean up header parsing and chain function a bit; get
	  rid of some cruft; make header parsing a tad more robust, fixing
	  #403188.

2007-02-01 11:12:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Post an error if we receive an EOS event while still waiting for the
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event):
	  Post an error if we receive an EOS event while still waiting for the
	  ASF header object to come through.

2007-01-24 17:36:36 +0000  Xavier B <xavierb@gmail.com>

	  gst/asfdemux/gstasfdemux.c: Guard places where we assume that a certain amount of data is available better against le...
	  Original commit message from CVS:
	  Patch by: Xavier B. <xavierb gmail com>
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_guid),
	  (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream),
	  (gst_asf_demux_process_ext_content_desc),
	  (gst_asf_demux_process_data),
	  (gst_asf_demux_process_language_list),
	  (gst_asf_demux_process_ext_stream_props),
	  (gst_asf_demux_process_segment), (gst_asf_demux_handle_data):
	  Guard places where we assume that a certain amount of data is
	  available better against less data being available (should fix
	  infamous assertion crasher bug #336370). Also fixes a small
	  memory leak.

2007-01-11 12:49:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/: Add demuxer for RealAudio files (#349779).
	  Original commit message from CVS:
	  * gst/realmedia/Makefile.am:
	  * gst/realmedia/rademux.c:
	  * gst/realmedia/rademux.h:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
	  (gst_rmdemux_descramble_dnet_audio), (gst_rmdemux_plugin_init):
	  * gst/realmedia/rmutils.c: (gst_rm_utils_descramble_dnet_buffer):
	  * gst/realmedia/rmutils.h:
	  Add demuxer for RealAudio files (#349779).

2007-01-07 13:37:19 +0000  Sébastien Moutte <sebastien@moutte.net>

	  Makefile.am: Add win32/MANIFEST to EXTRA_DIST so win32 files will be include in the next release.
	  Original commit message from CVS:
	  * Makefile.am:
	  Add win32/MANIFEST to EXTRA_DIST so win32 files will
	  be include in the next release.
	  * win32/MANIFEST:
	  Remove win32/common/config.h is which is not autogenerated yet.

2006-12-30 20:01:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/lame/gstlame.c: warn when outgoing sample rate is different from incoming
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_setcaps), (gst_lame_chain):
	  warn when outgoing sample rate is different from incoming

2006-12-29 14:51:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: All sample-rates < 32khz come from the LSF extensions, which only use 1 granu...
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
	  All sample-rates < 32khz come from the LSF extensions, which only
	  use 1 granule. Fixes parsing of 22.05khz, 24khz and 16khz files.
	  Use gst_util_uint64_scale because we can.

2006-12-22 13:06:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/amrnbenc.c: and fix compilation of this test
	  Original commit message from CVS:
	  * tests/check/elements/amrnbenc.c: (setup_amrnbenc),
	  (cleanup_amrnbenc):
	  and fix compilation of this test

2006-12-22 12:41:52 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/: re-apply as it was -bad and not -ugly that is frozen, doh
	  Original commit message from CVS:
	  * tests/check/elements/amrnbenc.c: (setup_amrnbenc),
	  (cleanup_amrnbenc):
	  * tests/check/elements/mpeg2dec.c: (setup_mpeg2dec),
	  (cleanup_mpeg2dec):
	  re-apply as it was -bad and not -ugly that is frozen, doh

2006-12-21 12:50:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/: revert my freeze breakage
	  Original commit message from CVS:
	  * tests/check/elements/amrnbenc.c: (setup_amrnbenc),
	  (cleanup_amrnbenc):
	  * tests/check/elements/mpeg2dec.c: (setup_mpeg2dec),
	  (cleanup_mpeg2dec):
	  revert my freeze breakage

2006-12-21 08:16:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/asfdemux/gstasfdemux.c: add a comment about a future change
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c:
	  (gst_asf_demux_get_gst_tag_from_tag_name),
	  (gst_asf_demux_process_ext_content_desc):
	  add a comment about a future change
	  * tests/check/elements/amrnbenc.c: (setup_amrnbenc),
	  (cleanup_amrnbenc):
	  * tests/check/elements/mpeg2dec.c: (setup_mpeg2dec),
	  (cleanup_mpeg2dec):
	  consistent pad (de)activation

2006-12-15 18:26:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Update query_types function too.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_src_query_types):
	  Update query_types function too.

2006-12-15 18:25:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: Implement SEEKING query, make query function thread-safe.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_src_query),
	  (gst_rmdemux_src_query_types):
	  Implement SEEKING query, make query function thread-safe.

2006-12-15 17:59:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: Use alignment-safe macros here too (subbuffers ...); guard against hypothetical memory acces...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_descramble_dnet_audio):
	  Use alignment-safe macros here too (subbuffers ...); guard against
	  hypothetical memory access beyond our given buffer in the case
	  where the buffer size is not a multiple of 2.

2006-12-15 17:54:48 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.*: Don't crash in the seek event handling code when playtime is 0, as may be the case with l...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_seek_event),
	  (gst_asf_demux_process_data), (gst_asf_demux_process_file),
	  (gst_asf_demux_handle_src_query), (gst_asf_demux_change_state):
	  * gst/asfdemux/gstasfdemux.h:
	  Don't crash in the seek event handling code when playtime is 0,
	  as may be the case with live streams (#386218). Implement SEEKING
	  query so applications can query seekability without second-guessing
	  based on whether we have a duration or not.

2006-12-15 11:12:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  add doap file
	  Original commit message from CVS:
	  * Makefile.am:
	  * gst-plugins-ugly.doap:
	  * gst-plugins-ugly.spec.in:
	  add doap file

2006-12-14 12:05:49 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/gstmpegparse.c: Use our alignment-safe macros here too, since we can't assume that
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead):
	  Use our alignment-safe macros here too, since we can't assume that
	  GST_BUFFER_DATA is aligned (these are subbuffers we're dealing with
	  here).

2006-12-14 11:49:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: Also, don't read the index for a stream a second time when operating in pull-mode and reachi...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_indx_data):
	  Also, don't read the index for a stream a second time when
	  operating in pull-mode and reaching the end of the file.

2006-12-14 11:25:00 +0000  Roland Kay <roland.kay@ox.compsoc.net>

	  gst/realmedia/rmdemux.c: Don't leak stream index (#385292).
	  Original commit message from CVS:
	  Patch by: Roland Kay  <roland.kay at ox compsoc net>
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_reset):
	  Don't leak stream index (#385292).

2006-12-14 10:15:24 +0000  Roland Kay <roland.kay@ox.compsoc.net>

	  ext/lame/gstlame.*: Fix leak (by calling lame_init_params() before lame_close()); handle
	  Original commit message from CVS:
	  Based on patch by: Roland Kay  <roland.kay at ox compsoc net>
	  * ext/lame/gstlame.c: (gst_lame_init), (gst_lame_chain),
	  (gst_lame_setup):
	  * ext/lame/gstlame.h:
	  Fix leak (by calling lame_init_params() before lame_close()); handle
	  NULL return from lame_init() more gracefully. Fixes #385311.

2006-12-14 09:57:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Back to CVS
	  Original commit message from CVS:
	  * configure.ac:
	  Back to CVS

=== release 0.10.5 ===

2006-12-13 21:04:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-asf.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-dvdsub.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	  Release 0.10.5
	  Original commit message from CVS:
	  Release 0.10.5

2006-12-12 21:09:16 +0000  David Schleef <ds@schleef.org>

	  gst/mpegstream/gstmpegparse.c: Use the GST_READ macro I meant to in the previous checkin.  see #385192.  You can have...
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegparse.c: Use the GST_READ macro I meant
	  to in the previous checkin.  see #385192.  You can have your
	  cheese back now.

2006-12-12 20:56:58 +0000  David Schleef <ds@schleef.org>

	  gst/mpegstream/gstmpegparse.c: Fix unaligned load that loads from the dereferenced integer, not the pointer itself.  ...
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegparse.c: Fix unaligned load that loads
	  from the dereferenced integer, not the pointer itself.  Fixes
	  #385192.
	  I'm takin ur cheese!

2006-12-12 10:29:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	  ChangeLog surgery: fix bug number
	  Original commit message from CVS:
	  ChangeLog surgery: fix bug number

2006-12-12 10:24:40 +0000  Roland Kay <roland.kay@ox.compsoc.net>

	  gst/realmedia/rmdemux.c: For version 4 streams, read the extra codec data size from the header instead of assuming it...
	  Original commit message from CVS:
	  Based on patch by: Roland Kay  <roland.kay at ox compsoc net>
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr):
	  For version 4 streams, read the extra codec data size from the
	  header instead of assuming it is always 16 (also read it from the
	  right position) (#384989). For version 4 and 5 streams, check that
	  the specified extra codec data size doesn't make us read beyond the
	  chunk boundary (#384989).

2006-12-10 21:27:03 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* po/af.po:
	* po/az.po:
	* po/cs.po:
	* po/en_GB.po:
	* po/hu.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/uk.po:
	* po/vi.po:
	  Update .po files
	  Original commit message from CVS:
	  Update .po files

2006-11-21 12:33:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mpeg2dec/gstmpeg2dec.c: Cosmetic changes: fix misleading debug statement, update comment, add cast.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_sized_buf):
	  Cosmetic changes: fix misleading debug statement, update
	  comment, add cast.

2006-11-21 12:15:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/mpeg2dec/gstmpeg2dec.*: Align buffers to a 16 byte boundary so the altivec optimisations don't crash. Fixes #327350.
	  Original commit message from CVS:
	  Patch by: Sebastian Dröge  <slomo@circular-chaos.org>
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
	  (gst_mpeg2dec_reset), (gst_mpeg2dec_alloc_sized_buf),
	  (gst_mpeg2dec_alloc_buffer), (init_dummybuf), (handle_slice):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Align buffers to a 16 byte boundary so the altivec optimisations
	  don't crash. Fixes #327350.

2006-11-20 15:52:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: The availability of extra codec data isn't something that warrants debug messages at WARN...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_audio_stream):
	  The availability of extra codec data isn't something that
	  warrants debug messages at WARNING level (see #376958).

2006-11-19 13:08:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/: Fix flow value combination; this fixes playbin/totem locking up if a VobSub file is specified as sub...
	  Original commit message from CVS:
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
	  (gst_dvd_demux_class_init), (gst_dvd_demux_combine_flows),
	  (gst_dvd_demux_send_subbuffer):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init),
	  (gst_mpeg_demux_init_stream), (gst_mpeg_demux_parse_packet),
	  (gst_mpeg_demux_parse_pes), (gst_mpeg_demux_combine_flows),
	  (gst_mpeg_demux_send_subbuffer):
	  * gst/mpegstream/gstmpegdemux.h:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event),
	  (gst_mpeg_parse_chain):
	  Fix flow value combination; this fixes playbin/totem locking up if
	  a VobSub file is specified as subtitle file (#334322). Flow value
	  combination should only happen once we are fairly sure we've got all
	  pads that are available for now. Since there isn't a well-specified
	  time when this is the case in MPEG, we'll just assume this is the
	  case once there has been a certain number of packets for each
	  stream we've found so far.

2006-11-15 13:57:21 +0000  Jan Arne Petersen <jpetersen@jpetersen.org>

	  ext/mpeg2dec/gstmpeg2dec.c: Simplify the framerate code and support more framerates. Fixes #361584.
	  Original commit message from CVS:
	  Patch by: Jan Arne Petersen <jpetersen at jpetersen dot org>
	  * ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence), (handle_slice):
	  Simplify the framerate code and support more framerates. Fixes #361584.

2006-11-15 11:41:39 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/mpeg2dec/gstmpeg2dec.c: Fix minor memleak when creating pads from static pad templates (#369627).
	  Original commit message from CVS:
	  Patch by: Sebastian Dröge  <slomo@circular-chaos.org>
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init):
	  Fix minor memleak when creating pads from static pad templates (#369627).
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/mpeg2dec.c: (setup_mpeg2dec),
	  (cleanup_mpeg2dec), (GST_START_TEST), (mpeg2dec_suite), (main):
	  Add unit tests for mpeg2dec (#369627).

2006-11-14 10:31:11 +0000  Wim Taymans <wim.taymans@gmail.com>

	* ChangeLog:
	  give credit
	  Original commit message from CVS:
	  give credit

2006-11-14 10:29:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/lame/gstlame.*: Make lame timestamp flushed eos buffer by some additional timestamp accounting. Fixes #374760.
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_event), (gst_lame_chain),
	  (gst_lame_change_state):
	  * ext/lame/gstlame.h:
	  Make lame timestamp flushed eos buffer by some additional timestamp
	  accounting. Fixes #374760.

2006-11-13 17:01:15 +0000  Michael Smith <msmith@xiph.org>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Make timestamp handling in mp3parse saner; now works for at least simple cases.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (mp3_type_frame_length_from_header), (gst_mp3parse_reset),
	  (gst_mp3parse_init), (gst_mp3parse_dispose),
	  (gst_mp3parse_sink_event), (gst_mp3parse_chain), (head_check),
	  (gst_mp3parse_change_state):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Make timestamp handling in mp3parse saner; now works for at least
	  simple cases.

2006-11-13 16:23:22 +0000  Michael Smith <msmith@xiph.org>

	  gst/mpegaudioparse/: Bring mp3parse into the 21st century.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/Makefile.am:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (mp3_type_frame_length_from_header), (gst_mp3parse_class_init),
	  (gst_mp3parse_reset), (gst_mp3parse_init), (gst_mp3parse_dispose),
	  (gst_mp3parse_sink_event), (gst_mp3parse_chain), (head_check),
	  (gst_mp3parse_change_state), (plugin_init):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Bring mp3parse into the 21st century.
	  Use its own debug category, use gstadapter, format nicely to 80
	  columns, and fix incorrect handling of 32 kHz and less files.

2006-11-03 09:52:12 +0000  Sebastian Droege <slomo@ubuntu.com>

	  ext/mpeg2dec/gstmpeg2dec.*: libmpeg2 requires its output buffers to start at a 16byte aligned address or the altivec ...
	  Original commit message from CVS:
	  Patch by: Sebastian Droege <slomo at ubuntu dot com>
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_finalize),
	  (gst_mpeg2dec_alloc_buffer), (init_dummybuf), (handle_slice):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  libmpeg2 requires its output buffers to start at a 16byte aligned
	  address or the altivec optimizations will explode.

2006-11-02 14:43:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/cdio/: Move CD-TEXT utility function into common file so it can also be used by a future cdioparanoiasrc.
	  Original commit message from CVS:
	  * ext/cdio/gstcdio.c: (gst_cdio_get_cdtext):
	  * ext/cdio/gstcdio.h:
	  * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open):
	  Move CD-TEXT utility function into common file so it can also be
	  used by a future cdioparanoiasrc.

2006-10-19 10:17:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.c: Use dsi_pack.dsi_gi.vobu_ea correctly, add some more debugging information (fixes #340433).
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read):
	  Use dsi_pack.dsi_gi.vobu_ea correctly, add some more debugging
	  information (fixes #340433).

2006-10-16 18:07:23 +0000  Josep Torra Valles <josep@fluendo.com>

	  gst/: Misc. fixes for problems discovered by Forte (different return types in function declaration and definition, po...
	  Original commit message from CVS:
	  Patch by: Josep Torra Valles  <josep at fluendo com>
	  * gst/iec958/ac3_padder.c: (ac3p_init):
	  * gst/mpegstream/gstmpegparse.c:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_parse__rmf),
	  (gst_rmdemux_parse_prop), (gst_rmdemux_parse_mdpr),
	  (gst_rmdemux_parse_indx), (gst_rmdemux_parse_indx_data),
	  (gst_rmdemux_parse_data), (gst_rmdemux_parse_cont),
	  (gst_rmdemux_parse_packet):
	  Misc. fixes for problems discovered by Forte (different return types
	  in function declaration and definition, pointer arithmetics with
	  void pointers). Fixes #362639.

2006-10-13 19:11:26 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.c: Don't announce audio or subtitle streams that aren't really present, it makes dvddemux crea...
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_goto_title):
	  Don't announce audio or subtitle streams that aren't really present,
	  it makes dvddemux create pads that will never carry any data, which
	  is not good.

2006-10-13 14:45:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.c: Round up not allowed bitrates to the next higher allowed one (Closes: #361140).
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_set_property):
	  Round up not allowed bitrates to the next higher allowed one
	  (Closes: #361140).

2006-10-13 14:19:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add docs for lame and lame to docs. Specify allowed bitrates in the properties description (#361140). Canonicalise ob...
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-ugly-plugins-sections.txt:
	  * ext/lame/gstlame.c: (gst_lame_class_init):
	  * ext/lame/gstlame.h:
	  Add docs for lame and lame to docs. Specify allowed bitrates
	  in the properties description (#361140). Canonicalise object
	  property names (ie. use hyphen instead of underscore).
	  * docs/plugins/inspect/plugin-a52dec.xml:
	  * docs/plugins/inspect/plugin-amrnb.xml:
	  * docs/plugins/inspect/plugin-asf.xml:
	  * docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	  * docs/plugins/inspect/plugin-dvdread.xml:
	  * docs/plugins/inspect/plugin-dvdsub.xml:
	  * docs/plugins/inspect/plugin-iec958.xml:
	  * docs/plugins/inspect/plugin-lame.xml:
	  * docs/plugins/inspect/plugin-mad.xml:
	  * docs/plugins/inspect/plugin-mpeg2dec.xml:
	  * docs/plugins/inspect/plugin-mpegaudioparse.xml:
	  * docs/plugins/inspect/plugin-mpegstream.xml:
	  * docs/plugins/inspect/plugin-siddec.xml:
	  Update version to CVS.

2006-10-13 10:00:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add i18n magic to lame plugin. Throw decent error message when we fail to setup the encoder (#361140, 361151); misc. ...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_setcaps),
	  (gst_lame_set_property), (gst_lame_get_property), (gst_lame_chain),
	  (plugin_init):
	  * po/POTFILES.in:
	  Add i18n magic to lame plugin. Throw decent error message when we
	  fail to setup the encoder (#361140, 361151); misc. minor clean-ups.

2006-10-10 17:02:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rdtdepay.c: Change caps to x-rdt, because it's not x-rtp.
	  Original commit message from CVS:
	  * gst/realmedia/rdtdepay.c: (gst_rdt_depay_base_init),
	  (gst_rdt_depay_init), (gst_rdt_depay_setcaps),
	  (gst_rdt_depay_chain), (gst_rdt_depay_change_state):
	  Change caps to x-rdt, because it's not x-rtp.
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
	  (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet),
	  (gst_rmdemux_plugin_init):
	  Activate pad before adding to the element.
	  Return the combined stream return values after pad_alloc.

2006-10-10 16:58:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.*: Add some debugging to timestamp handling.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (handle_slice):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Add some debugging to timestamp handling.
	  Make sure we don't convert invalid timestamps.

2006-10-09 12:09:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/: Active pads before adding them to the running element. Don't assert on non-BYTE format newsegment events in asf...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event),
	  (gst_asf_demux_setup_pad), (gst_asf_demux_process_segment):
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_audio_stream),
	  (gst_dvd_demux_get_subpicture_stream):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream),
	  (gst_mpeg_demux_get_audio_stream),
	  (gst_mpeg_demux_get_private_stream):
	  Active pads before adding them to the running element. Don't assert
	  on non-BYTE format newsegment events in asfdemux.

2006-10-05 17:07:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Printf format fixes.
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_goto_title),
	  (gst_dvd_read_src_handle_seek_event):
	  * ext/mad/gstid3tag.c: (gst_id3_tag_chain):
	  * ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_chain):
	  * ext/sidplay/gstsiddec.cc:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_parse_data):
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_loop),
	  (gst_rmdemux_parse_packet):
	  Printf format fixes.

2006-10-03 10:55:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/: Added RDT depayloader.
	  Original commit message from CVS:
	  * gst/realmedia/Makefile.am:
	  * gst/realmedia/rdtdepay.c: (gst_rdt_depay_base_init),
	  (gst_rdt_depay_class_init), (gst_rdt_depay_init),
	  (gst_rdt_depay_setcaps), (gst_rdt_depay_chain),
	  (gst_rdt_depay_set_property), (gst_rdt_depay_get_property),
	  (gst_rdt_depay_change_state), (gst_rdt_depay_plugin_init):
	  * gst/realmedia/rdtdepay.h:
	  Added RDT depayloader.
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr),
	  (gst_rmdemux_plugin_init), (plugin_init):
	  Remove unused function.
	  Added some more mime-types.

2006-09-28 21:44:49 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/dvdlpcmdec/gstdvdlpcmdec.c: If an incoming timestamp is within one sample of our current timestamp, then keep it....
	  Original commit message from CVS:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (update_timestamps):
	  If an incoming timestamp is within one sample of our current
	  timestamp, then keep it. This prevents imprecision in the
	  PTS (which only has 90khz granularity) from affecting our stream.

2006-09-28 09:16:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/gstmpegparse.c: Reflow code so that compiler doesn't complain about possible use of uninitialised vari...
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_query):
	  Reflow code so that compiler doesn't complain about possible use
	  of uninitialised variable any longer; but just in case, initialise
	  it anyway; also take object ref in query function and do peer pad
	  stuff in a more thread-safe way.

2006-09-27 09:54:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/dvdread/dvdreadsrc.c: Init a variable to make compilers happy.
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_do_convert_query):
	  Init a variable to make compilers happy.

2006-09-21 13:34:59 +0000  Martin Zlomek <martin.zlomek@itonis.tv>

	  gst/mpegstream/: Send newsegment updates for sparse streams (#350778).
	  Original commit message from CVS:
	  Patch by: Martin Zlomek <martin dot zlomek at itonis dot tv>
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_reset),
	  (gst_dvd_demux_sync_stream_to_time):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer),
	  (gst_mpeg_demux_synchronise_pads),
	  (gst_mpeg_demux_sync_stream_to_time):
	  Send newsegment updates for sparse streams (#350778).

2006-09-20 16:18:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/dvdread/dvdreadsrc.c: fix compile warning
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_do_convert_query):
	  fix compile warning

2006-09-20 16:16:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	  bump the nano bitches
	  Original commit message from CVS:
	  bump the nano bitches

2006-09-20 11:55:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: As another attempt, synaesthesia can be enabled by passing
	  Original commit message from CVS:
	  * configure.ac:
	  As another attempt, synaesthesia can be enabled by passing
	  --with-plugins="synaesthesia" to configure

2006-09-20 11:12:22 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Don't build synaesthesia by default, until someone confirms that it is okay (filed as #356882)
	  Original commit message from CVS:
	  * configure.ac:
	  Don't build synaesthesia by default, until someone confirms that it
	  is okay (filed as #356882)

2006-09-20 11:11:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Don't build synaesthesia by default, until someone confirms that it is okay (filed as #356882)
	  Original commit message from CVS:
	  * configure.ac:
	  Don't build synaesthesia by default, until someone confirms that it
	  is okay (filed as #356882)

2006-09-18 12:29:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Port synaesthesia.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/synaesthesia/Makefile.am:
	  * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init),
	  (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps),
	  (gst_synaesthesia_src_setcaps), (gst_synaesthesia_chain),
	  (gst_synaesthesia_change_state), (plugin_init):
	  Port synaesthesia.

2006-09-16 21:58:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  More G_OBJECT macro fixing.
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c:
	  * gst/mpegstream/gstrfc2250enc.h:
	  * gst/synaesthesia/gstsynaesthesia.c:
	  More G_OBJECT macro fixing.

2006-09-15 16:14:15 +0000  Yves Lefebvre <ivanohe@abacom.com>

	  ext/mpeg2dec/gstmpeg2dec.c: Fix initialisation dummy buffer, the offsets are relative to the start of the buffers. Fi...
	  Original commit message from CVS:
	  Patch by: Yves Lefebvre <ivanohe at abacom dot com>
	  * ext/mpeg2dec/gstmpeg2dec.c: (init_dummybuf):
	  Fix initialisation dummy buffer, the offsets are relative to the start
	  of the buffers. Fixes #356004.

2006-09-12 10:14:29 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-ugly.spec.in:
	  update spec file
	  Original commit message from CVS:
	  update spec file

2006-09-09 15:22:58 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.c: Add convert query (needed for later when we just operate in time format and let the base so...
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read):
	  Add convert query (needed for later when we just operate in time
	  format and let the base source class handle all the seeking stuff).

2006-09-07 16:05:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/asfdemux/gstasfdemux.c: Erm, lets properly fix it. The only non-text tag that we support is the track-number and ...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c:
	  (gst_asf_demux_get_gst_tag_from_tag_name),
	  (gst_asf_demux_process_ext_content_desc):
	  Erm, lets properly fix it. The only non-text tag that we support is
	  the track-number and that is an UINT. asfdemux was returning a GValue
	  initialized as INT. Further the Track and not the TrackNumber tag
	  (the latter is a string too).

2006-09-07 14:08:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/asfdemux/gstasfdemux.c: Skip tags that are unknown (was producing an uninialized GValue).
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c:
	  (gst_asf_demux_get_gst_tag_from_tag_name),
	  (gst_asf_demux_process_ext_content_desc):
	  Skip tags that are unknown (was producing an uninialized GValue).

2006-09-01 16:21:43 +0000  from Michal Benes <michal.benes@itonis.tv>

	  ext/a52dec/gsta52dec.*: Add two things to a52dec: configure the exact output format for ac3 decoding through properti...
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_mode_get_type),
	  (gst_a52dec_class_init), (gst_a52dec_init), (gst_a52dec_channels),
	  (gst_a52dec_handle_frame), (gst_a52dec_change_state),
	  (gst_a52dec_set_property), (gst_a52dec_get_property):
	  * ext/a52dec/gsta52dec.h:
	  Patch from from Michal Benes <michal.benes@itonis.tv>:
	  Add two things to a52dec: configure the exact output format for ac3
	  decoding through properties, if desired.
	  By default, configure an output format preferred by downstream. Now
	  that audioconvert lists caps by preference, this means that a52dec
	  can do downmixing (iff required) rather than audioconvert, so it can
	  use the ac3 downmix levels from the bitstream.

2006-08-31 13:04:31 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Add missing GST_LIBS to the link flags
	  Original commit message from CVS:
	  * ext/lame/Makefile.am:
	  * ext/mpeg2dec/Makefile.am:
	  * gst/dvdlpcmdec/Makefile.am:
	  * gst/dvdsub/Makefile.am:
	  * gst/mpegaudioparse/Makefile.am:
	  Add missing GST_LIBS to the link flags

2006-08-29 13:28:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Up requirements to core 0.10.6 for gst_event_new_new_segment_full().
	  Original commit message from CVS:
	  * configure.ac:
	  Up requirements to core 0.10.6 for gst_event_new_new_segment_full().

2006-08-27 20:46:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/mpegstream/gstmpegpacketize.c: fix build for debug disabled
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegpacketize.c: (gst_mpeg_packetize_new):
	  fix build for debug disabled

2006-08-22 15:52:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Use static pad templates with ANY caps for the source pads for simplicity and to avoid wa...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
	  (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream):
	  Use static pad templates with ANY caps for the source pads for
	  simplicity and to avoid warnings when creating pads for unhandled
	  codec IDs (#351795).

2006-08-16 10:34:57 +0000  Michal Benes <michal.benes@itonis.tv>

	  ext/mad/gstmad.c: Fix timestamping in mad by only activating a new timestamp when the previous frame has been decoded...
	  Original commit message from CVS:
	  Patch by: Michal Benes <michal dot benes at itonis dot tv>
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  Fix timestamping in mad by only activating a new timestamp when the
	  previous frame has been decoded. Fixes #350723.
	  Also clean up some of the non fatal warnings when the input buffer is
	  too small to decode a header.

=== release 0.10.4 ===

2006-08-14 11:15:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-amrnb.xml:
	* docs/plugins/inspect/plugin-asf.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-dvdread.xml:
	* docs/plugins/inspect/plugin-dvdsub.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	* docs/plugins/inspect/plugin-siddec.xml:
	  releasing 0.10.4
	  Original commit message from CVS:
	  releasing 0.10.4

2006-08-14 11:06:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* po/af.po:
	* po/az.po:
	* po/cs.po:
	* po/en_GB.po:
	* po/hu.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/uk.po:
	* po/vi.po:
	  Update .po files
	  Original commit message from CVS:
	  Update .po files

2006-08-14 10:19:41 +0000  Wim Taymans <wim@fluendo.com>

	  ext/a52dec/gsta52dec.c: Instead of forwarding the event in the wrong format, unref it and set a boolean that we still...
	  Original commit message from CVS:
	  Patch by: Wim Taymans <wim at fluendo dot com>
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_sink_event):
	  Instead of forwarding the event in the wrong format, unref it and set
	  a boolean that we still need to send it in the streaming thread.
	  Fixes #350554

2006-08-14 09:50:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/dvdread/dvdreadsrc.c: Put debug category initialization before use of GST_DEBUG, in order to remove a fatal warni...
	  Original commit message from CVS:
	  Patch by: Edward Hervey (edward at fluendo dot com)
	  * ext/dvdread/dvdreadsrc.c: (plugin_init):
	  Put debug category initialization before use of GST_DEBUG, in order
	  to remove a fatal warning.  Fixes #350895

2006-08-08 13:23:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/dvdsub/gstdvdsubdec.c: Set rank to NONE for the time being until we make playbin handle subtitle pictures again (...
	  Original commit message from CVS:
	  * gst/dvdsub/gstdvdsubdec.c: (plugin_init):
	  Set rank to NONE for the time being until we make playbin handle
	  subtitle pictures again (dvdsubdec seems to be a bit shaky at
	  times when seeking, so it's probably better if it doesn't get
	  autoplugged for the time being).

2006-08-07 19:01:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: Handle audio streams with stream_version 3 properly; warn about unknown stream versions; han...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
	  (gst_rmdemux_parse_mdpr):
	  Handle audio streams with stream_version 3 properly; warn about
	  unknown stream versions; handle unknown fourccs a tad more
	  gracefully (setting bogus caps). Also, use GST_FOURCC_ARGS
	  with GST_FOURCC_FORMAT.

2006-08-07 16:25:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.c: Error out properly if this is an interactive DVD (fixes #345694).
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_goto_title):
	  Error out properly if this is an interactive DVD (fixes #345694).

2006-08-07 16:18:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/a52dec/gsta52dec.c: When the first_access is 1 or 0, we should copy the timestamp from the incoming buffer if the...
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_chain):
	  When the first_access is 1 or 0, we should copy the timestamp from
	  the incoming buffer if there is one.

2006-08-07 14:01:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/a52dec/gsta52dec.c: Use GST_ELEMENT_ERROR for error reporting; post errors in some more places; remove superfluou...
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (gst_a52dec_push),
	  (gst_a52dec_reneg), (gst_a52dec_handle_frame), (gst_a52dec_chain):
	  Use GST_ELEMENT_ERROR for error reporting; post errors in some
	  more places; remove superfluous newlines from debug statements.

2006-08-07 09:17:01 +0000  Frédéric Riss <frederic.riss@gmail.com>

	  gst/dvdsub/gstdvdsubdec.c: which happens when you use macros that got changed during the last unstable cycle because ...
	  Original commit message from CVS:
	  Patch by: Frédéric Riss  <frederic.riss at gmail com>
	  * gst/dvdsub/gstdvdsubdec.c: (gst_send_subtitle_frame):
	  Don't set negative durations on outgoing buffers (#350044),
	  which happens when you use macros that got changed during
	  the last unstable cycle because they were thought not to
	  be used anywhere.

2006-08-06 19:47:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.*: Add basic support for time-based seeking; set timestamps on outgoing buffers if we have the...
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_stop),
	  (gst_dvd_read_src_goto_chapter),
	  (gst_dvd_read_src_get_chapter_starts),
	  (gst_dvd_read_src_goto_title), (gst_dvd_read_src_get_next_cell),
	  (gst_dvd_read_src_get_time_for_sector),
	  (gst_dvd_read_src_get_sector_from_time), (gst_dvd_read_src_read),
	  (gst_dvd_read_src_handle_seek_event), (gst_dvd_read_src_do_seek),
	  (gst_dvd_read_src_goto_sector):
	  * ext/dvdread/dvdreadsrc.h:
	  Add basic support for time-based seeking; set timestamps on
	  outgoing buffers if we have them; create table with
	  chapter to time mapping when opening a title; rename
	  gst_dvd_read_src_get_next_cell_for() to _get_next_cell() and
	  make it take an explicit pgc argument; fix up some debugging
	  messages so that title/chapter numbers are printed as starting
	  from 1 for easier readability.

2006-08-04 13:05:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/: Factor out some code into rmutils.[ch]; when reading strings, don't read beyond the available data; r...
	  Original commit message from CVS:
	  * gst/realmedia/Makefile.am:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr),
	  (gst_rmdemux_parse_cont):
	  * gst/realmedia/rmutils.c: (gst_rm_utils_read_string8),
	  (gst_rm_utils_read_string16), (gst_rm_utils_read_tags):
	  * gst/realmedia/rmutils.h:
	  Factor out some code into rmutils.[ch]; when reading
	  strings, don't read beyond the available data; read
	  metadata strings correctly (string length is 16 bits
	  here, not just 8).

2006-07-31 09:53:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Fix dist by including gst-libs/
	  Original commit message from CVS:
	  * Makefile.am:
	  * configure.ac:
	  * gst/asfdemux/gstasfdemux.c:
	  Fix dist by including gst-libs/

2006-07-29 11:20:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Make custom error messages translatable.
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (plugin_init):
	  * po/POTFILES.in:
	  Make custom error messages translatable.
	  * gst/asfdemux/gstasf.c: (plugin_init):
	  Remove setlocale() call, doesn't seem to be needed or recommended for
	  plugins, at least not according to gstreamer/docs/random/i18n.

2006-07-28 15:15:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Error out when the stream is encrypted (rather than feeding garbage to the decoders). Fixes #349025.
	  Original commit message from CVS:
	  * gst/asfdemux/Makefile.am:
	  * gst/asfdemux/asfheaders.c:
	  * gst/asfdemux/asfheaders.h:
	  * gst/asfdemux/gstasf.c: (plugin_init):
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_object):
	  Error out when the stream is encrypted (rather than feeding
	  garbage to the decoders). Fixes #349025.

2006-07-28 15:11:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add/enable autofoo magic for translations.
	  Original commit message from CVS:
	  * Makefile.am:
	  * autogen.sh:
	  * configure.ac:
	  * po/POTFILES.in:
	  Add/enable autofoo magic for translations.

2006-07-28 13:28:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: Don't leak streams, strings or caps. Get rid of unnecessary getcaps() function.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_reset),
	  (gst_rmdemux_change_state), (gst_rmdemux_add_stream),
	  (gst_rmdemux_parse_cont), (gst_rmdemux_descramble_cook_audio),
	  (gst_rmdemux_handle_scrambled_packet), (gst_rmdemux_parse_packet):
	  Don't leak streams, strings or caps. Get rid of unnecessary
	  getcaps() function.

2006-07-27 20:34:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: Descramble cook audio streams before sending them to the decoder. Fixes #347292.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_class_init),
	  (gst_rmdemux_init), (gst_rmdemux_chain), (gst_rmdemux_add_stream),
	  (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_data),
	  (gst_rmdemux_stream_clear_cached_subpackets),
	  (gst_rmdemux_descramble_cook_audio),
	  (gst_rmdemux_descramble_dnet_audio),
	  (gst_rmdemux_handle_scrambled_packet), (gst_rmdemux_parse_packet):
	  Descramble cook audio streams before sending them to the
	  decoder. Fixes #347292.
	  Also miscellaneous clean-ups and log-level changes.

2006-07-26 17:09:04 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	  ext/lame/gstlame.c: Fix lame putting lots of 0's at start of mp3.  Fixes bug #348786.
	  Original commit message from CVS:
	  2006-07-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
	  * ext/lame/gstlame.c: (gst_lame_setup):
	  Fix lame putting lots of 0's at start of mp3.  Fixes bug #348786.

2006-07-21 11:01:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/sidplay/gstsiddec.*: Remove old metadata thing.
	  Original commit message from CVS:
	  * ext/sidplay/gstsiddec.cc:
	  * ext/sidplay/gstsiddec.h:
	  Remove old metadata thing.

2006-07-15 13:33:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Find language codes for audio streams if they are available.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c:
	  (gst_asf_demux_get_ext_stream_props_for_stream),
	  (gst_asf_demux_add_audio_stream), (gst_asf_demux_change_state):
	  Find language codes for audio streams if they are available.

2006-07-14 13:02:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Parse extended stream properties objects and stream objects hidden inside them (but delay creation of ...
	  Original commit message from CVS:
	  * gst/asfdemux/asfheaders.h:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_obj_stream),
	  (gst_asf_demux_process_stream),
	  (gst_asf_demux_process_language_list),
	  (gst_asf_demux_process_ext_stream_props),
	  (gst_asf_demux_process_queued_extended_stream_objects),
	  (gst_asf_demux_process_object), (gst_asf_demux_change_state):
	  * gst/asfdemux/gstasfdemux.h:
	  Parse extended stream properties objects and stream objects
	  hidden inside them (but delay creation of the appropriate
	  pads until after all the 'normal' stream objects have been
	  dealt with) (#343763). Also parse language list object.

2006-07-13 11:28:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rmdemux.*: Cleanups, use GstSegment for seeking.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_class_init),
	  (gst_rmdemux_finalize), (gst_rmdemux_src_event),
	  (find_seek_offset_time), (gst_rmdemux_perform_seek),
	  (gst_rmdemux_src_query), (gst_rmdemux_change_state),
	  (gst_rmdemux_loop), (gst_rmdemux_chain), (gst_rmdemux_send_event),
	  (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr),
	  (gst_rmdemux_combine_flows), (gst_rmdemux_parse_packet):
	  * gst/realmedia/rmdemux.h:
	  Cleanups, use GstSegment for seeking.
	  Fix error handling.
	  Combine flow return from all streams.

2006-07-11 22:46:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/cdio/gstcdiocddasrc.c: Remove g_assert that shouldn't be there.
	  Original commit message from CVS:
	  * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_close):
	  Remove g_assert that shouldn't be there.

2006-07-10 11:52:58 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.c: Fix refcounting when cropping. Fixes #341677.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer), (handle_slice):
	  Fix refcounting when cropping. Fixes #341677.

2006-07-09 14:07:31 +0000  Grzegorz Lukasik <hauserx@gmail.com>

	  gst/asfdemux/gstasfdemux.c: Fix typo. Closes #347029.
	  Original commit message from CVS:
	  Patch by: Grzegorz Lukasik <hauserx at gmail dot com>
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream),
	  (gst_asf_demux_process_segment):
	  Fix typo. Closes #347029.

2006-07-08 20:29:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Skip chunks for unknown streams properly. Fixes broken sound and/or video for files that ...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk):
	  Skip chunks for unknown streams properly. Fixes broken sound
	  and/or video for files that have additional streams that
	  we don't recognise yet (e.g. if they are embedded in extended
	  stream properties). Partly fixes #343763.

2006-07-07 19:26:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/: Add some more GUIDs and make debug log more readable and easier to follow when parsing the headers.
	  Original commit message from CVS:
	  * gst/asfdemux/asfheaders.c:
	  * gst/asfdemux/asfheaders.h:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_identify_guid),
	  (gst_asf_demux_process_header), (gst_asf_demux_push_obj),
	  (gst_asf_demux_pop_obj), (gst_asf_demux_process_object),
	  (gst_asf_demux_change_state):
	  * gst/asfdemux/gstasfdemux.h:
	  Add some more GUIDs and make debug log more readable
	  and easier to follow when parsing the headers.

2006-06-30 11:26:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.*: Rewrite seeking code and make seeking in DVDs work (#337834).
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_init),
	  (gst_dvd_read_src_is_seekable), (gst_dvd_read_src_class_init),
	  (gst_dvd_read_src_stop), (gst_dvd_read_src_goto_title),
	  (gst_dvd_read_src_create), (gst_dvd_read_src_handle_seek_event),
	  (gst_dvd_read_src_do_seek), (gst_dvd_read_src_src_event):
	  * ext/dvdread/dvdreadsrc.h:
	  Rewrite seeking code and make seeking in DVDs work (#337834).

2006-06-29 14:31:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  autogen.sh: Check for automake-1.9 as well.
	  Original commit message from CVS:
	  * autogen.sh:
	  Check for automake-1.9 as well.

2006-06-29 12:25:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.c: Make check stronger.
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_is_nav_pack):
	  Make check stronger.

2006-06-28 11:20:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.*: Handle unknown codec IDs/fourccs properly (#345879); send tag events after newsegment eve...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_setup_pad),
	  (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream),
	  (gst_asf_demux_push_buffer):
	  * gst/asfdemux/gstasfdemux.h:
	  Handle unknown codec IDs/fourccs properly (#345879); send tag
	  events after newsegment event; fix use of GST_FOURCC_FORMAT
	  macro.

2006-06-23 16:29:41 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/a52dec/gsta52dec.c: Call the channel positions get_type() method in plugin_init to ensure that it isn't simultane...
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (plugin_init):
	  Call the channel positions get_type() method in plugin_init
	  to ensure that it isn't simultaneously called later from
	  multiple threads.

2006-06-23 12:24:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/: Also flush packetizer cache when we get a buffer that has the
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegpacketize.c:
	  (gst_mpeg_packetize_flush_cache), (gst_mpeg_packetize_put):
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_chain):
	  Also flush packetizer cache when we get a buffer that has the
	  DISCONT flag set; update current byte position from buffer
	  offset after a flush.

2006-06-23 11:22:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/: Flush packetizer cache when we get a FLUSH_STOP event; remove unused source pad member from packetiz...
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegpacketize.c: (gst_mpeg_packetize_new),
	  (gst_mpeg_packetize_flush_cache), (gst_mpeg_packetize_destroy),
	  (gst_mpeg_packetize_read):
	  * gst/mpegstream/gstmpegpacketize.h:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event),
	  (gst_mpeg_parse_change_state):
	  Flush packetizer cache when we get a FLUSH_STOP event;
	  remove unused source pad member from packetizer; add debug
	  category for packetizer.

2006-06-23 09:28:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/a52dec/gsta52dec.c: Treat dual-mono as stereo. It should really be output on 2 separate pads, but isn't for now.
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (plugin_init):
	  Treat dual-mono as stereo. It should really be output on 2 separate
	  pads, but isn't for now.

2006-06-19 15:16:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mpeg2dec/gstmpeg2dec.c: Assume 4:3 DAR rather than 4:3 PAR (#345184).
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
	  Assume 4:3 DAR rather than 4:3 PAR (#345184).

2006-06-19 11:59:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mpeg2dec/gstmpeg2dec.c: Assume pixel-aspect-ratio of 4:3 if libmpeg2dec doesn't give us any PAR whatsoever (rathe...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
	  Assume pixel-aspect-ratio of 4:3 if libmpeg2dec doesn't give us
	  any PAR whatsoever (rather than using 0/0, which will lead to
	  an abort later on). Fixes #345184.

2006-06-17 19:35:41 +0000  Michael Dominic K <mdk@mdk.org.pl>

	  ext/mad/gstmad.c: Send newsegment event before calling gst_pad_alloc_buffer_and_set_caps(), makes mad behave better i...
	  Original commit message from CVS:
	  Patch by: Michael Dominic K.  < mdk at mdk org pl>
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  Send newsegment event before calling
	  gst_pad_alloc_buffer_and_set_caps(), makes mad behave better
	  in connection with pad blocking (#342594). While we're at it,
	  do some minor clean-ups.

2006-06-17 14:48:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Fix --disable-external (can't set conditionals conditionally, #343602).
	  Original commit message from CVS:
	  * configure.ac:
	  Fix --disable-external (can't set conditionals conditionally,
	  #343602).

2006-06-15 17:10:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/a52dec/Makefile.am: ... and then he said "When you go and fix the build you better make sure you have some spare ...
	  Original commit message from CVS:
	  * ext/a52dec/Makefile.am:
	  ... and then he said "When you go and fix the build you
	  better make sure you have some spare backslashes in your
	  pocket".

2006-06-13 15:46:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/sidplay/gstsiddec.cc: Fix copyright, email addresses and descriptions.
	  Original commit message from CVS:
	  * ext/sidplay/gstsiddec.cc:
	  Fix copyright, email addresses and descriptions.
	  Use saner defaults for arguments. Fixes #344667.
	  constify some stuff.
	  Fix memleaks.
	  Add tags.
	  Fix negotiation to do mono/44100 by default.
	  Post error messages.
	  Use _scale_int where possible.

2006-06-12 14:09:20 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/dvdnav/.cvsignore: More ignore
	  Original commit message from CVS:
	  * ext/dvdnav/.cvsignore:
	  More ignore

2006-06-12 13:49:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/check/elements/amrnbenc.c: Init memory before feeding it to the encoder to make the valgrind test succeed.
	  Original commit message from CVS:
	  * tests/check/elements/amrnbenc.c: (push_data):
	  Init memory before feeding it to the encoder to make
	  the valgrind test succeed.

2006-06-12 13:27:18 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/asfdemux/.cvsignore: More ignore
	  Original commit message from CVS:
	  * gst/asfdemux/.cvsignore:
	  More ignore

2006-06-11 20:38:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	  .cvsignore: Ignore files generated by 'make dist'.
	  Original commit message from CVS:
	  * .cvsignore:
	  Ignore files generated by 'make dist'.

2006-06-11 17:08:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  update build files
	  Original commit message from CVS:
	  * autogen.sh:
	  * configure.ac:
	  * ext/a52dec/Makefile.am:
	  * ext/dvdnav/Makefile.am:
	  * ext/dvdread/Makefile.am:
	  * ext/lame/Makefile.am:
	  * ext/mad/Makefile.am:
	  * ext/mpeg2dec/Makefile.am:
	  * ext/sidplay/Makefile.am:
	  update build files

2006-06-11 13:57:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  autogen.sh: require am17
	  Original commit message from CVS:
	  * autogen.sh:
	  require am17
	  * configure.ac:
	  * ext/annodex/Makefile.am:
	  * ext/cdio/Makefile.am:
	  * ext/dv/Makefile.am:
	  * ext/esd/Makefile.am:
	  * ext/flac/Makefile.am:
	  * ext/gdk_pixbuf/Makefile.am:
	  * ext/ladspa/Makefile.am:
	  * ext/libcaca/Makefile.am:
	  * ext/speex/Makefile.am:
	  * ext/taglib/Makefile.am:
	  * sys/oss/Makefile.am:
	  * sys/sunaudio/Makefile.am:
	  * sys/ximage/Makefile.am:
	  clean up build further

2006-06-07 17:05:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.*: Simplify and don't leak our buffer pool.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_finalize),
	  (gst_mpeg2dec_reset), (clear_buffers), (handle_picture),
	  (gst_mpeg2dec_sink_convert), (gst_mpeg2dec_src_convert),
	  (gst_mpeg2dec_change_state):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Simplify and don't leak our buffer pool.
	  Use _scale_int.
	  Remove unfixed bug number from previous ChangeLog entry.

2006-06-07 16:15:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.*: Fix padtemplate as we can now do fractional framerates.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_base_init),
	  (gst_mpeg2dec_class_init), (gst_mpeg2dec_init),
	  (gst_mpeg2dec_finalize), (gst_mpeg2dec_reset),
	  (gst_mpeg2dec_qos_reset), (gst_mpeg2dec_alloc_buffer),
	  (gst_mpeg2dec_negotiate_format), (init_dummybuf),
	  (handle_sequence), (handle_picture), (handle_slice),
	  (gst_mpeg2dec_chain), (gst_mpeg2dec_sink_event),
	  (gst_mpeg2dec_src_event), (gst_mpeg2dec_change_state):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Fix padtemplate as we can now do fractional framerates.
	  Small cleanups.
	  Use GstSegment.
	  Add simple frame dropping QoS.
	  Precalc buffer output sizes and UV offsets.
	  Always give libmpeg2 a valid fbuf when it wants one.
	  don't trust libmpeg to discard our buffers but manage it
	  ourselves.
	  Fixes #343627, #327350, #335288

2006-06-05 20:57:12 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/MANIFEST: Add a manifest for futures ugly win32 releases.
	  Original commit message from CVS:
	  * win32/MANIFEST:
	  Add a manifest for futures ugly win32 releases.
	  * gst/iec958/ac3iec.c: (ac3iec_chain_raw):
	  Move bufcaps declaration at the begining of the instructions
	  block.

2006-06-01 22:00:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
	  Original commit message from CVS:
	  * ext/alsaspdif/alsaspdifsink.h:
	  * ext/amrwb/gstamrwbdec.h:
	  * ext/amrwb/gstamrwbenc.h:
	  * ext/amrwb/gstamrwbparse.h:
	  * ext/arts/gst_arts.h:
	  * ext/artsd/gstartsdsink.h:
	  * ext/audiofile/gstafparse.h:
	  * ext/audiofile/gstafsink.h:
	  * ext/audiofile/gstafsrc.h:
	  * ext/audioresample/gstaudioresample.h:
	  * ext/bz2/gstbz2dec.h:
	  * ext/bz2/gstbz2enc.h:
	  * ext/dirac/gstdiracdec.h:
	  * ext/directfb/dfbvideosink.h:
	  * ext/divx/gstdivxdec.h:
	  * ext/divx/gstdivxenc.h:
	  * ext/dts/gstdtsdec.h:
	  * ext/faac/gstfaac.h:
	  * ext/gsm/gstgsmdec.h:
	  * ext/gsm/gstgsmenc.h:
	  * ext/ivorbis/vorbisenc.h:
	  * ext/libfame/gstlibfame.h:
	  * ext/nas/nassink.h:
	  * ext/neon/gstneonhttpsrc.h:
	  * ext/polyp/polypsink.h:
	  * ext/sdl/sdlaudiosink.h:
	  * ext/sdl/sdlvideosink.h:
	  * ext/shout/gstshout.h:
	  * ext/snapshot/gstsnapshot.h:
	  * ext/sndfile/gstsf.h:
	  * ext/swfdec/gstswfdec.h:
	  * ext/tarkin/gsttarkindec.h:
	  * ext/tarkin/gsttarkinenc.h:
	  * ext/theora/theoradec.h:
	  * ext/wavpack/gstwavpackdec.h:
	  * ext/wavpack/gstwavpackparse.h:
	  * ext/xine/gstxine.h:
	  * ext/xvid/gstxviddec.h:
	  * ext/xvid/gstxvidenc.h:
	  * gst/cdxaparse/gstcdxaparse.h:
	  * gst/cdxaparse/gstcdxastrip.h:
	  * gst/colorspace/gstcolorspace.h:
	  * gst/festival/gstfestival.h:
	  * gst/freeze/gstfreeze.h:
	  * gst/gdp/gstgdpdepay.h:
	  * gst/gdp/gstgdppay.h:
	  * gst/modplug/gstmodplug.h:
	  * gst/mpeg1sys/gstmpeg1systemencode.h:
	  * gst/mpeg1videoparse/gstmp1videoparse.h:
	  * gst/mpeg2sub/gstmpeg2subt.h:
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  * gst/multifilesink/gstmultifilesink.h:
	  * gst/overlay/gstoverlay.h:
	  * gst/playondemand/gstplayondemand.h:
	  * gst/qtdemux/qtdemux.h:
	  * gst/rtjpeg/gstrtjpegdec.h:
	  * gst/rtjpeg/gstrtjpegenc.h:
	  * gst/smooth/gstsmooth.h:
	  * gst/smoothwave/gstsmoothwave.h:
	  * gst/spectrum/gstspectrum.h:
	  * gst/speed/gstspeed.h:
	  * gst/stereo/gststereo.h:
	  * gst/switch/gstswitch.h:
	  * gst/tta/gstttadec.h:
	  * gst/tta/gstttaparse.h:
	  * gst/videodrop/gstvideodrop.h:
	  * gst/xingheader/gstxingmux.h:
	  * sys/directdraw/gstdirectdrawsink.h:
	  * sys/directsound/gstdirectsoundsink.h:
	  * sys/dxr3/dxr3audiosink.h:
	  * sys/dxr3/dxr3spusink.h:
	  * sys/dxr3/dxr3videosink.h:
	  * sys/qcam/gstqcamsrc.h:
	  * sys/vcd/vcdsrc.h:
	  Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass

2006-06-01 21:11:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.h:
	  * ext/amrnb/amrnbdec.h:
	  * ext/amrnb/amrnbenc.h:
	  * ext/amrnb/amrnbparse.h:
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  * ext/sidplay/gstsiddec.h:
	  * gst/ac3parse/gstac3parse.h:
	  * gst/asfdemux/gstasfdemux.h:
	  * gst/asfdemux/gstasfmux.h:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.h:
	  * gst/iec958/ac3iec.h:
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  * gst/mpegstream/gstdvddemux.h:
	  * gst/mpegstream/gstmpegclock.h:
	  * gst/mpegstream/gstmpegdemux.h:
	  * gst/mpegstream/gstmpegparse.h:
	  Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass

2006-05-27 11:35:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  README: Replace current README (containing the release notes from some 0.9.x version) with a proper README taken from...
	  Original commit message from CVS:
	  * README:
	  Replace current README (containing the release notes from
	  some 0.9.x version) with a proper README taken from the core.

2006-05-24 15:56:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/amrnb/: Sortof first quick cleanup of all this mess...
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_event), (gst_amrnbdec_chain):
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_init),
	  (gst_amrnbparse_sink_event), (gst_amrnbparse_chain),
	  (gst_amrnbparse_sink_activate), (gst_amrnbparse_state_change):
	  * ext/amrnb/amrnbparse.h:
	  Sortof first quick cleanup of all this mess...
	  Don't crap out on empty and invalid FTs but treat them as
	  empty packets, the decoder handles them fine.
	  Fixes #342222.

2006-05-22 08:24:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasf.c: Call gst_riff_init() so the riff debug category gets set up before it is being used.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasf.c: (plugin_init):
	  Call gst_riff_init() so the riff debug category gets set up
	  before it is being used.

2006-05-19 13:55:11 +0000  Michael Smith <msmith@xiph.org>

	  gst/iec958/: Write rate into the caps, for the allowed ac3 rates. Some minor cleanups.
	  Original commit message from CVS:
	  * gst/iec958/ac3_padder.c: (ac3p_parse):
	  * gst/iec958/ac3_padder.h:
	  * gst/iec958/ac3iec.c: (ac3iec_init), (ac3iec_set_property),
	  (ac3iec_chain_raw), (ac3iec_change_state):
	  * gst/iec958/ac3iec.h:
	  Write rate into the caps, for the allowed ac3 rates. Some minor
	  cleanups.

2006-05-18 13:00:21 +0000  James Doc Livingston <doclivingston@gmail.com>

	  ext/mad/gstid3tag.c: Do tag merging correctly (#339918). Output taglists properly in debug statements too while we're...
	  Original commit message from CVS:
	  Patch by: James "Doc" Livingston  <doclivingston gmail com>
	  * ext/mad/gstid3tag.c: (gst_id3_tag_get_tag_to_render):
	  Do tag merging correctly (#339918). Output taglists
	  properly in debug statements too while we're at it.

2006-05-11 16:17:44 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/a52dec/gsta52dec.c: Add more debug
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_chain):
	  Add more debug
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset),
	  (gst_dvdlpcmdec_init), (update_timestamps),
	  (gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw),
	  (dvdlpcmdec_sink_event):
	  * gst/dvdlpcmdec/gstdvdlpcmdec.h:
	  If we have a first_access offset but no current timestamp (might
	  happen after a seek), then calculate a start time for the first
	  portion so that it will align with the timestamp given for the
	  first_access portion.
	  If a new-segment arrives with format time, store the start
	  time as a failsafe timestamp in case we never get any further
	  timestamp info (unlikely)
	  Mask out the 'frame number' section of the incoming header so
	  that we don't consider it to be changing on every buffer and
	  reset the caps constantly.
	  Use gst_util_uint64_scale for duration calculation

2006-05-11 14:34:10 +0000  Michael Smith <msmith@xiph.org>

	  gst/dvdlpcmdec/gstdvdlpcmdec.c: Fix timestamping for cases where the first_access parameter is 4.
	  Original commit message from CVS:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_dvd):
	  Fix timestamping for cases where the first_access parameter is 4.
	  Ensure we don't overrun buffers in other cases.

2006-05-10 14:40:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: Fix silly bug when reading metadata (#341254).
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_string):
	  Fix silly bug when reading metadata (#341254).

2006-05-08 11:57:26 +0000  Edward Hervey <bilboed@bilboed.com>

	  autogen.sh: libtoolize on Darwin/MacOSX is called glibtoolize
	  Original commit message from CVS:
	  * autogen.sh: (CONFIGURE_DEF_OPT):
	  libtoolize on Darwin/MacOSX is called glibtoolize

2006-05-06 11:38:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.*: Remove tag writing from lame (which was completely broken anyway, #329184). Leaving GstTagSetter ...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_get_type),
	  (gst_lame_release_memory), (gst_lame_init), (gst_lame_sink_event),
	  (gst_lame_setup), (gst_lame_change_state):
	  * ext/lame/gstlame.h:
	  Remove tag writing from lame (which was completely broken
	  anyway, #329184). Leaving GstTagSetter interface around for
	  now, albeit non-functional. Should be removed completely
	  in 0.11. Use the 'id3v2mux' plugin from -good for writing
	  tags.

2006-05-06 00:18:31 +0000  Maciej Katafiasz <mathrick@mathrick.org>

	* ChangeLog:
	* ext/dvdread/dvdreadsrc.c:
	* gst/asfdemux/gstasfdemux.c:
	  Add semicolons after GST_BOILERPLATE[_FULL] so that indent doesn't mess up following lines.
	  Original commit message from CVS:
	  Add semicolons after GST_BOILERPLATE[_FULL] so that indent doesn't mess up following lines.

2006-05-05 08:23:39 +0000  Andres Salomon <dilinger@debian.org>

	  ext/lame/gstlame.c: Fix typo (comma vs. semicolon) (#340710).
	  Original commit message from CVS:
	  Patch by: Andres Salomon  <dilinger at debian org>
	  * ext/lame/gstlame.c: (gst_lame_sink_event):
	  Fix typo (comma vs. semicolon) (#340710).

2006-05-04 08:24:52 +0000  Lutz Müller <lutz@topfrose.de>

	  ext/mad/gstmad.c: Make mad the second element to support the highly useful
	  Original commit message from CVS:
	  Patch by: Lutz Müller <lutz at topfrose de>
	  * ext/mad/gstmad.c: (gst_mad_init), (gst_mad_src_query):
	  Make mad the second element to support the highly useful
	  FORMATS query (#340594)

2006-05-02 10:28:48 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/mpeg2dec/gstmpeg2dec.c: Remember the query duration format before passing it upstream since it could have been mo...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_sink_convert),
	  (gst_mpeg2dec_src_query):
	  Remember the query duration format before passing it upstream since it
	  could have been modified.
	  Add GST_WARNING_OBJECT in sink convert function to detail why the
	  conversion didn't work.

2006-04-25 21:56:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Define GstElementDetails as const and also static (when defined as global)
	  Original commit message from CVS:
	  * ext/amrwb/gstamrwbdec.c:
	  * ext/amrwb/gstamrwbenc.c:
	  * ext/amrwb/gstamrwbparse.c:
	  * ext/arts/gst_arts.c:
	  * ext/artsd/gstartsdsink.c:
	  * ext/audiofile/gstafparse.c:
	  * ext/audiofile/gstafsink.c:
	  * ext/audiofile/gstafsrc.c:
	  * ext/audioresample/gstaudioresample.c:
	  * ext/bz2/gstbz2dec.c:
	  * ext/bz2/gstbz2enc.c:
	  * ext/cdaudio/gstcdaudio.c:
	  * ext/directfb/dfbvideosink.c:
	  * ext/divx/gstdivxdec.c:
	  * ext/divx/gstdivxenc.c:
	  * ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
	  * ext/faac/gstfaac.c: (gst_faac_base_init):
	  * ext/faad/gstfaad.c:
	  * ext/gsm/gstgsmdec.c:
	  * ext/gsm/gstgsmenc.c:
	  * ext/hermes/gsthermescolorspace.c:
	  * ext/ivorbis/vorbisfile.c:
	  * ext/lcs/gstcolorspace.c:
	  * ext/libfame/gstlibfame.c:
	  * ext/libmms/gstmms.c: (gst_mms_base_init):
	  * ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init):
	  * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
	  * ext/nas/nassink.c: (gst_nassink_base_init):
	  * ext/neon/gstneonhttpsrc.c:
	  * ext/sdl/sdlaudiosink.c:
	  * ext/sdl/sdlvideosink.c:
	  * ext/shout/gstshout.c:
	  * ext/snapshot/gstsnapshot.c:
	  * ext/sndfile/gstsf.c:
	  * ext/swfdec/gstswfdec.c:
	  * ext/tarkin/gsttarkindec.c:
	  * ext/tarkin/gsttarkinenc.c:
	  * ext/theora/theoradec.c:
	  * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
	  * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
	  * ext/xvid/gstxviddec.c:
	  * ext/xvid/gstxvidenc.c:
	  * gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
	  * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
	  * gst/chart/gstchart.c:
	  * gst/colorspace/gstcolorspace.c:
	  * gst/deinterlace/gstdeinterlace.c:
	  * gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
	  * gst/festival/gstfestival.c:
	  * gst/filter/gstbpwsinc.c:
	  * gst/filter/gstiir.c:
	  * gst/filter/gstlpwsinc.c:
	  * gst/freeze/gstfreeze.c:
	  * gst/games/gstpuzzle.c: (gst_puzzle_base_init):
	  * gst/librfb/gstrfbsrc.c:
	  * gst/mixmatrix/mixmatrix.c:
	  * gst/mpeg1sys/gstmpeg1systemencode.c:
	  * gst/mpeg1videoparse/gstmp1videoparse.c:
	  * gst/mpeg2sub/gstmpeg2subt.c:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  * gst/multifilesink/gstmultifilesink.c:
	  * gst/overlay/gstoverlay.c:
	  * gst/passthrough/gstpassthrough.c:
	  * gst/playondemand/gstplayondemand.c:
	  * gst/qtdemux/qtdemux.c:
	  * gst/rtjpeg/gstrtjpegdec.c:
	  * gst/rtjpeg/gstrtjpegenc.c:
	  * gst/smooth/gstsmooth.c:
	  * gst/smoothwave/gstsmoothwave.c:
	  * gst/spectrum/gstspectrum.c:
	  * gst/speed/gstspeed.c:
	  * gst/stereo/gststereo.c:
	  * gst/switch/gstswitch.c:
	  * gst/tta/gstttadec.c: (gst_tta_dec_base_init):
	  * gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
	  * gst/vbidec/gstvbidec.c:
	  * gst/videocrop/gstvideocrop.c:
	  * gst/videodrop/gstvideodrop.c:
	  * gst/virtualdub/gstxsharpen.c:
	  * gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
	  * gst/y4m/gsty4mencode.c:
	  * sys/cdrom/gstcdplayer.c:
	  * sys/directdraw/gstdirectdrawsink.c:
	  * sys/directsound/gstdirectsoundsink.c:
	  * sys/glsink/glimagesink.c:
	  * sys/qcam/gstqcamsrc.c:
	  * sys/v4l2/gstv4l2src.c:
	  * sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init):
	  * sys/ximagesrc/ximagesrc.c:
	  Define GstElementDetails as const and also static (when defined as
	  global)

2006-04-25 21:47:03 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Define GstElementDetails as const and also static (when defined as global)
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c:
	  * ext/mad/gstmad.c:
	  * gst/ac3parse/gstac3parse.c:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  * gst/synaesthesia/gstsynaesthesia.c:
	  Define GstElementDetails as const and also static (when defined as
	  global)

2006-04-25 21:39:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Define GstElementDetails as const and also static (when defined as global)
	  Original commit message from CVS:
	  * ext/aalib/gstaasink.c:
	  * ext/annodex/gstcmmldec.c:
	  * ext/annodex/gstcmmlenc.c:
	  * ext/cairo/gsttextoverlay.c:
	  * ext/cairo/gsttimeoverlay.c:
	  * ext/cdio/gstcdiocddasrc.c:
	  * ext/dv/gstdvdec.c:
	  * ext/dv/gstdvdemux.c:
	  * ext/esd/esdmon.c:
	  * ext/esd/esdsink.c:
	  * ext/flac/gstflacenc.c:
	  * ext/flac/gstflactag.c:
	  * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_base_init):
	  * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init):
	  * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init):
	  * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init):
	  * ext/gdk_pixbuf/pixbufscale.c:
	  * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init):
	  * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init):
	  * ext/jpeg/gstjpegdec.c:
	  * ext/jpeg/gstjpegenc.c:
	  * ext/jpeg/gstsmokedec.c:
	  * ext/jpeg/gstsmokeenc.c:
	  * ext/libcaca/gstcacasink.c:
	  * ext/libmng/gstmngdec.c:
	  * ext/libmng/gstmngenc.c:
	  * ext/libpng/gstpngdec.c:
	  * ext/libpng/gstpngenc.c:
	  * ext/mikmod/gstmikmod.c:
	  * ext/raw1394/gstdv1394src.c:
	  * ext/shout2/gstshout2.c: (gst_shout2send_init):
	  * ext/shout2/gstshout2.h:
	  * ext/speex/gstspeexdec.c:
	  * ext/speex/gstspeexenc.c:
	  * gst/alpha/gstalpha.c:
	  * gst/alpha/gstalphacolor.c:
	  * gst/apetag/gstapedemux.c:
	  * gst/auparse/gstauparse.c:
	  * gst/autodetect/gstautoaudiosink.c:
	  (gst_auto_audio_sink_base_init):
	  * gst/autodetect/gstautovideosink.c:
	  (gst_auto_video_sink_base_init):
	  * gst/avi/gstavidemux.c: (gst_avi_demux_base_init):
	  * gst/avi/gstavimux.c: (gst_avimux_base_init):
	  * gst/cutter/gstcutter.c:
	  * gst/debug/breakmydata.c:
	  * gst/debug/efence.c:
	  * gst/debug/gstnavigationtest.c:
	  * gst/debug/gstnavseek.c:
	  * gst/debug/negotiation.c:
	  * gst/debug/progressreport.c:
	  * gst/debug/testplugin.c:
	  * gst/effectv/gstaging.c:
	  * gst/effectv/gstdice.c:
	  * gst/effectv/gstedge.c:
	  * gst/effectv/gstquark.c:
	  * gst/effectv/gstrev.c:
	  * gst/effectv/gstshagadelic.c:
	  * gst/effectv/gstvertigo.c:
	  * gst/effectv/gstwarp.c:
	  * gst/flx/gstflxdec.c:
	  * gst/goom/gstgoom.c:
	  * gst/icydemux/gsticydemux.c:
	  * gst/id3demux/gstid3demux.c:
	  * gst/interleave/deinterleave.c:
	  * gst/interleave/interleave.c:
	  * gst/law/alaw-decode.c: (gst_alawdec_base_init):
	  * gst/law/alaw-encode.c: (gst_alawenc_base_init):
	  * gst/law/mulaw-decode.c: (gst_mulawdec_base_init):
	  * gst/law/mulaw-encode.c: (gst_mulawenc_base_init):
	  * gst/level/gstlevel.c:
	  * gst/matroska/matroska-demux.c: (gst_matroska_demux_base_init):
	  * gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init):
	  * gst/median/gstmedian.c:
	  * gst/monoscope/gstmonoscope.c:
	  * gst/multipart/multipartdemux.c:
	  * gst/multipart/multipartmux.c:
	  * gst/oldcore/gstaggregator.c:
	  * gst/oldcore/gstfdsink.c:
	  * gst/oldcore/gstmd5sink.c:
	  * gst/oldcore/gstmultifilesrc.c:
	  * gst/oldcore/gstpipefilter.c:
	  * gst/oldcore/gstshaper.c:
	  * gst/oldcore/gststatistics.c:
	  * gst/rtp/gstasteriskh263.c:
	  * gst/rtp/gstrtpL16depay.c:
	  * gst/rtp/gstrtpL16pay.c:
	  * gst/rtp/gstrtpamrdepay.c:
	  * gst/rtp/gstrtpamrpay.c:
	  * gst/rtp/gstrtpdepay.c:
	  * gst/rtp/gstrtpgsmpay.c:
	  * gst/rtp/gstrtph263pay.c:
	  * gst/rtp/gstrtph263pdepay.c:
	  * gst/rtp/gstrtph263ppay.c:
	  * gst/rtp/gstrtpilbcdepay.c:
	  * gst/rtp/gstrtpmp4gpay.c:
	  * gst/rtp/gstrtpmp4vdepay.c:
	  * gst/rtp/gstrtpmp4vpay.c:
	  * gst/rtp/gstrtpmpadepay.c:
	  * gst/rtp/gstrtpmpapay.c:
	  * gst/rtp/gstrtppcmadepay.c:
	  * gst/rtp/gstrtppcmapay.c:
	  * gst/rtp/gstrtppcmudepay.c:
	  * gst/rtp/gstrtppcmupay.c:
	  * gst/rtp/gstrtpspeexdepay.c:
	  * gst/rtp/gstrtpspeexpay.c:
	  * gst/rtsp/gstrtpdec.c:
	  * gst/rtsp/gstrtspsrc.c:
	  * gst/smpte/gstsmpte.c:
	  * gst/udp/gstdynudpsink.c:
	  * gst/udp/gstmultiudpsink.c:
	  * gst/udp/gstudpsink.c:
	  * gst/udp/gstudpsrc.c:
	  * gst/videobox/gstvideobox.c:
	  * gst/videofilter/gstgamma.c: (gst_gamma_base_init):
	  * gst/videofilter/gstvideobalance.c:
	  * gst/videofilter/gstvideoflip.c:
	  * gst/videofilter/gstvideotemplate.c:
	  (gst_videotemplate_base_init):
	  * gst/videomixer/videomixer.c:
	  * gst/wavparse/gstwavparse.c: (gst_wavparse_base_init),
	  (gst_wavparse_class_init), (gst_wavparse_dispose),
	  (gst_wavparse_reset), (gst_wavparse_init),
	  (gst_wavparse_perform_seek), (gst_wavparse_peek_chunk_info),
	  (gst_wavparse_peek_chunk), (gst_wavparse_stream_headers),
	  (gst_wavparse_parse_stream_init), (gst_wavparse_send_event),
	  (gst_wavparse_add_src_pad), (gst_wavparse_stream_data),
	  (gst_wavparse_chain), (gst_wavparse_srcpad_event),
	  (gst_wavparse_sink_activate), (gst_wavparse_sink_activate_pull),
	  (gst_wavparse_change_state):
	  * gst/wavparse/gstwavparse.h:
	  * sys/oss/gstossmixerelement.c:
	  * sys/oss/gstosssink.c:
	  * sys/oss/gstosssrc.c:
	  * sys/osxaudio/gstosxaudioelement.c:
	  * sys/osxaudio/gstosxaudiosink.c:
	  * sys/osxaudio/gstosxaudiosrc.c:
	  * sys/sunaudio/gstsunaudiomixer.c:
	  * sys/sunaudio/gstsunaudiosink.c:
	  Define GstElementDetails as const and also static (when defined as
	  global)

2006-04-25 12:17:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdnav/dvdnavsrc.c: Fix name of custom event (use same as dvdreadsrc).
	  Original commit message from CVS:
	  * ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_push_titlelang_event):
	  Fix name of custom event (use same as dvdreadsrc).
	  * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_chain),
	  (gst_dvd_sub_dec_sink_event), (gst_dvd_sub_dec_handle_dvd_event):
	  Fix event parsing (the event name is in the structure, not the
	  name of the structure itself); also fix indentation after
	  boilerplate macro.

2006-04-23 09:49:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstid3tag.c: Change debug category to 'id3mux'.
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (plugin_init):
	  Change debug category to 'id3mux'.

2006-04-22 18:49:01 +0000  Alexander Lancaster <alexl@users.sourceforge.net>

	  ext/mad/gstid3tag.c: When acting as a muxer, set caps on outgoing buffers and set caps on source pad (fixes #323658)....
	  Original commit message from CVS:
	  Patch by: Alexander Lancaster  <alexl at users sourceforge net>
	  * ext/mad/gstid3tag.c: (gst_id3_tag_get_caps), (gst_id3_tag_init),
	  (gst_id3_tag_sink_event), (gst_id3_tag_src_link),
	  (gst_id3_tag_chain):
	  When acting as a muxer, set caps on outgoing buffers and set caps
	  on source pad (fixes #323658). Remove unused application/x-gst-tags
	  cruft from the 0.6 days.

2006-04-21 20:37:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstmad.c: .. and DEFAULT queries should work too. Use magic gst util scale functions in some places.
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_convert_src),
	  (gst_mad_src_query), (gst_mad_chain):
	  .. and DEFAULT queries should work too. Use magic gst util scale
	  functions in some places.

2006-04-21 19:31:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstmad.c: Fix duration query in BYTES format (#336824).
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_src_query):
	  Fix duration query in BYTES format (#336824).

2006-04-21 12:40:41 +0000  Ed Catmur <ed@catmur.co.uk>

	  ext/lame/gstlame.c: Don't crash if we get an EOS event before the encoder has been set up (#339287).
	  Original commit message from CVS:
	  Patch by: Ed Catmur  <ed at catmur dot co dot uk>
	  * ext/lame/gstlame.c: (gst_lame_sink_event):
	  Don't crash if we get an EOS event before the encoder
	  has been set up (#339287).

2006-04-21 11:17:08 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/dvdread/dvdreadsrc.c: Move errors out of the normal code flow.
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_start),
	  (gst_dvd_read_src_goto_title), (gst_dvd_read_src_read),
	  (gst_dvd_read_src_create), (gst_dvd_read_src_goto_sector):
	  Move errors out of the normal code flow.
	  Don't send eos, basesrc will do that for us when needed.

2006-04-21 10:50:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/mpegstream/: Do state changes correctly
	  Original commit message from CVS:
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_change_state):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_change_state):
	  * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_change_state):
	  Do state changes correctly

2006-04-13 19:08:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mpeg2dec/gstmpeg2dec.c: Can't use gst_pad_alloc_buffer*() when we are going to crop the image before sending it o...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_sized_buf),
	  (gst_mpeg2dec_alloc_buffer):
	  Can't use gst_pad_alloc_buffer*() when we are going to crop
	  the image before sending it out. Downstream basetransform-based
	  elements will complain about the wrong unit size otherwise
	  (when not operating in passthrough-mode at least).
	  Const-ify some static variables and do some minor clean-ups.
	  Use I420 macros for size/offsets (not really necessary in this
	  particular context, but this kind of code gets copy'n'pasted).

2006-04-13 18:21:08 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/gstmpegpacketize.*: g_malloc() can't fail, we don't need to handle this. Same for gst_buffer_new_and_a...
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegpacketize.c: (gst_mpeg_packetize_put),
	  (read_cache):
	  * gst/mpegstream/gstmpegpacketize.h:
	  g_malloc() can't fail, we don't need to handle this. Same for
	  gst_buffer_new_and_alloc().
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_chain):
	  klass->send_buffer() should have the same semantics as
	  gst_pad_push(), ie. ownership of the buffer is transfered,
	  so we never have to unref the buffer no matter what the flow
	  return value was.

2006-04-12 16:21:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/gst-plugins-ugly.supp:
	  one more suppression for FC4
	  Original commit message from CVS:
	  one more suppression for FC4

2006-04-10 16:58:24 +0000  Michael Smith <msmith@xiph.org>

	* tests/check/gst-plugins-ugly.supp:
	  The AMR encoder sucks giant sucky things through a sucky object with a giant sucking machine. More suppressions.
	  Original commit message from CVS:
	  The AMR encoder sucks giant sucky things through a sucky object with a giant
	  sucking machine. More suppressions.

2006-04-10 14:47:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  add test for amrnbenc, enable test infrastructure, and fix a leak
	  Original commit message from CVS:
	  add test for amrnbenc, enable test infrastructure, and fix a leak
	  * common/check.mak:
	  allow for specifying more than one suppressions file in SUPPRESSIONS
	  * Makefile.am:
	  * tests/Makefile.am:
	  * tests/check/.cvsignore:
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * configure.ac:
	  add tests/check
	  * tests/check/gst-plugins-ugly.supp:
	  add suppressions for libs used by -ugly
	  * tests/check/elements/amrnbenc.c: (buffer_new), (buffer_unref),
	  (setup_amrnbenc), (cleanup_amrnbenc), (push_data),
	  (GST_START_TEST), (amrnbenc_suite), (main):
	  add a simple test for encoding amr
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_init):
	  fix pad template leaks

2006-04-10 11:48:29 +0000  Michael Smith <msmith@xiph.org>

	  ext/amrnb/amrnbenc.c: Plug big leak in AMR encoder.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_chain):
	  Plug big leak in AMR encoder.

2006-04-09 18:09:40 +0000  Sébastien Moutte <sebastien@moutte.net>

	  ext/mad/gstmad.c: move GstIndexEntry *entry variable declaration before the first instruction
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (index_seek):
	  move GstIndexEntry *entry variable declaration before
	  the first instruction
	  * ext/mad/gstmad.c:
	  remove debug macros with variable number of parameter by using
	  GST_DEBUG for WIN32
	  * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_parse_subpic):
	  use gst_guint64_to_gdouble for conversions
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_sync_stream_to_time):
	  replace __FUNCTION__ which is not supported by MSVC by the current function name
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_reset):
	  remove LL suffix by using G_GINT64_CONSTANT
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead),(gst_mpeg_parse_get_rate):
	  use gst_guint64_to_gdouble for conversions
	  * gst/mpegstream/gstmpegparse.h:
	  remove LL suffix by using G_GINT64_CONSTANT
	  * win32/vs6:
	  add project files for tagac3parse, asfdemux, dvdlpcmdec, dvdsub, iec958, lame,
	  mad, mpegaudioparse, mpegstream, realmedia, synaesthesia

2006-04-08 21:42:19 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_class_init):
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_class_init):
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_class_init):
	  * ext/mad/gstmad.c: (gst_mad_class_init):
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_class_init):
	  * gst/ac3parse/gstac3parse.c: (gst_ac3parse_class_init):
	  * gst/asfdemux/gstasfmux.c: (gst_asfmux_class_init):
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_class_init):
	  * gst/iec958/ac3iec.c: (ac3iec_class_init):
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_class_init):
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_class_init):
	  * gst/mpegstream/gstmpegclock.c: (gst_mpeg_clock_class_init):
	  * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_class_init):
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_class_init):
	  * gst/synaesthesia/gstsynaesthesia.c:
	  (gst_synaesthesia_class_init):
	  Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)

2006-04-07 09:14:26 +0000  Fabrizio Gennari <fabrizio.ge@tiscali.it>

	  gst/asfdemux/gstasfdemux.c: Send newsegment event only once per pad, fixes #336550.
	  Original commit message from CVS:
	  Patch by: Fabrizio Gennari  <fabrizio dot ge at tiscali dot it>
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event),
	  (gst_asf_demux_push_buffer):
	  Send newsegment event only once per pad, fixes #336550.

2006-04-06 11:35:26 +0000  j^ <j@bootlab.org>

	  Unify the long descriptions in the plugin details (#337263).
	  Original commit message from CVS:
	  Patch by: j^  <j at bootlab dot org>
	  * ext/amrwb/gstamrwbdec.c:
	  * ext/amrwb/gstamrwbenc.c:
	  * ext/amrwb/gstamrwbparse.c:
	  * ext/arts/gst_arts.c:
	  * ext/artsd/gstartsdsink.c:
	  * ext/audiofile/gstafparse.c:
	  * ext/audiofile/gstafsink.c:
	  * ext/audiofile/gstafsrc.c:
	  * ext/cdaudio/gstcdaudio.c:
	  * ext/directfb/dfbvideosink.c:
	  * ext/divx/gstdivxdec.c:
	  * ext/divx/gstdivxenc.c:
	  * ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
	  * ext/faac/gstfaac.c: (gst_faac_base_init):
	  * ext/faad/gstfaad.c:
	  * ext/gsm/gstgsmdec.c:
	  * ext/gsm/gstgsmenc.c:
	  * ext/hermes/gsthermescolorspace.c:
	  * ext/ivorbis/vorbisfile.c:
	  * ext/lcs/gstcolorspace.c:
	  * ext/libfame/gstlibfame.c:
	  * ext/libmms/gstmms.c: (gst_mms_base_init):
	  * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
	  * ext/nas/nassink.c: (gst_nassink_base_init):
	  * ext/neon/gstneonhttpsrc.c:
	  * ext/polyp/polypsink.c: (gst_polypsink_base_init):
	  * ext/sdl/sdlaudiosink.c:
	  * ext/sdl/sdlvideosink.c:
	  * ext/shout/gstshout.c:
	  * ext/snapshot/gstsnapshot.c:
	  * ext/sndfile/gstsf.c:
	  * ext/tarkin/gsttarkindec.c:
	  * ext/tarkin/gsttarkinenc.c:
	  * ext/theora/theoradec.c:
	  * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
	  * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
	  * ext/xvid/gstxviddec.c:
	  * ext/xvid/gstxvidenc.c:
	  * gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
	  * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
	  * gst/chart/gstchart.c:
	  * gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
	  * gst/festival/gstfestival.c:
	  * gst/filter/gstiir.c:
	  * gst/filter/gstlpwsinc.c:
	  * gst/freeze/gstfreeze.c:
	  * gst/games/gstpuzzle.c: (gst_puzzle_base_init):
	  * gst/mixmatrix/mixmatrix.c:
	  * gst/mpeg1sys/gstmpeg1systemencode.c:
	  * gst/mpeg1videoparse/gstmp1videoparse.c:
	  * gst/mpeg2sub/gstmpeg2subt.c:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  * gst/multifilesink/gstmultifilesink.c:
	  * gst/overlay/gstoverlay.c:
	  * gst/passthrough/gstpassthrough.c:
	  * gst/playondemand/gstplayondemand.c:
	  * gst/qtdemux/qtdemux.c:
	  * gst/rtjpeg/gstrtjpegdec.c:
	  * gst/rtjpeg/gstrtjpegenc.c:
	  * gst/smooth/gstsmooth.c:
	  * gst/tta/gstttadec.c: (gst_tta_dec_base_init):
	  * gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
	  * gst/videocrop/gstvideocrop.c:
	  * gst/videodrop/gstvideodrop.c:
	  * gst/virtualdub/gstxsharpen.c:
	  * gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
	  * gst/y4m/gsty4mencode.c:
	  Unify the long descriptions in the plugin details (#337263).

2006-04-05 10:02:34 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-ugly.spec.in:
	  fix version numbering
	  Original commit message from CVS:
	  fix version numbering

2006-04-05 09:18:35 +0000  Christian Schaller <uraeus@gnome.org>

	* common:
	* gst-plugins-ugly.spec.in:
	  add dvdsub plugin to spec
	  Original commit message from CVS:
	  add dvdsub plugin to spec

2006-04-01 15:43:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  docs/plugins/: add siddec
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  * docs/plugins/inspect/plugin-siddec.xml:
	  add siddec
	  * ext/dvdnav/dvdnavsrc.c:
	  doc fixes

2006-04-01 15:30:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* configure.ac:
	* ext/sidplay/Makefile.am:
	  disable use of AS_LIBTOOL_TAGS, it doesn't work correctly
	  Original commit message from CVS:
	  disable use of AS_LIBTOOL_TAGS, it doesn't work correctly

2006-04-01 14:08:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* docs/plugins/.gitignore:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	  ignore more
	  Original commit message from CVS:
	  ignore more

2006-04-01 14:08:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-amrnb.xml:
	* docs/plugins/inspect/plugin-asf.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-dvdread.xml:
	* docs/plugins/inspect/plugin-dvdsub.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-mpegstream.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	  update plugin inspect files
	  Original commit message from CVS:
	  update plugin inspect files

2006-04-01 10:09:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/mpegaudioparse/gstxingmux.c:
	  rework build; add translations for v4l2
	  Original commit message from CVS:
	  rework build; add translations for v4l2

2006-04-01 09:54:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  configure.ac: rework similarly to other modules
	  Original commit message from CVS:
	  * configure.ac:
	  rework similarly to other modules
	  * ext/a52dec/gsta52dec.c:
	  * ext/amrnb/amrnb.c:
	  * ext/dvdnav/dvdnavsrc.c:
	  * ext/dvdread/dvdreadsrc.c:
	  * ext/lame/gstlame.c:
	  * ext/mad/gstid3tag.c:
	  * ext/mpeg2dec/gstmpeg2dec.c:
	  * ext/sidplay/gstsiddec.cc:
	  * gst/asfdemux/gstasf.c:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  * gst/dvdsub/gstdvdsubdec.c:
	  * gst/iec958/ac3iec.c:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  * gst/mpegstream/gstmpegstream.c:
	  * gst/realmedia/rmdemux.c: (plugin_init):
	  use the correct defines

2006-04-01 09:53:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* docs/.gitignore:
	* docs/plugins/.gitignore:
	  ignore more
	  Original commit message from CVS:
	  ignore more

2006-03-31 11:13:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* common:
	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.10.3 ===

2006-03-31 11:10:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.signals:
	* docs/plugins/inspect/plugin-amrnb.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	  releasing 0.10.3
	  Original commit message from CVS:
	  releasing 0.10.3

2006-03-30 15:37:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  better/unified long descriptions
	  Original commit message from CVS:
	  * ext/aalib/gstaasink.c:
	  * ext/annodex/gstcmmldec.c:
	  * ext/annodex/gstcmmlenc.c:
	  * ext/cairo/gsttextoverlay.c:
	  * ext/cairo/gsttimeoverlay.c:
	  * ext/cdio/gstcdiocddasrc.c:
	  * ext/dv/gstdvdec.c:
	  * ext/esd/esdmon.c:
	  * ext/esd/esdsink.c:
	  * ext/flac/gstflacdec.c:
	  * ext/flac/gstflacenc.c:
	  * ext/flac/gstflactag.c:
	  * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_base_init):
	  * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init):
	  * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init):
	  * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init):
	  * ext/gdk_pixbuf/gstgdkpixbuf.c:
	  * ext/gdk_pixbuf/pixbufscale.c:
	  * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init):
	  * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init):
	  * ext/jpeg/gstjpegdec.c:
	  * ext/jpeg/gstjpegenc.c:
	  * ext/jpeg/gstsmokedec.c:
	  * ext/jpeg/gstsmokeenc.c:
	  * ext/libcaca/gstcacasink.c:
	  * ext/libmng/gstmngdec.c:
	  * ext/libmng/gstmngenc.c:
	  * ext/libpng/gstpngdec.c:
	  * ext/libpng/gstpngenc.c:
	  * ext/mikmod/gstmikmod.c:
	  * ext/raw1394/gstdv1394src.c:
	  * ext/shout2/gstshout2.c:
	  * ext/speex/gstspeexdec.c:
	  * ext/speex/gstspeexenc.c:
	  * gst/alpha/gstalpha.c:
	  * gst/alpha/gstalphacolor.c:
	  * gst/auparse/gstauparse.c:
	  * gst/autodetect/gstautoaudiosink.c:
	  (gst_auto_audio_sink_base_init):
	  * gst/autodetect/gstautovideosink.c:
	  (gst_auto_video_sink_base_init):
	  * gst/avi/gstavimux.c: (gst_avimux_base_init):
	  * gst/cutter/gstcutter.c:
	  * gst/debug/breakmydata.c:
	  * gst/debug/efence.c:
	  * gst/debug/gstnavigationtest.c:
	  * gst/debug/negotiation.c:
	  * gst/debug/progressreport.c:
	  * gst/debug/testplugin.c:
	  * gst/effectv/gstaging.c:
	  * gst/effectv/gstdice.c:
	  * gst/effectv/gstedge.c:
	  * gst/effectv/gstquark.c:
	  * gst/effectv/gstrev.c:
	  * gst/effectv/gstvertigo.c:
	  * gst/effectv/gstwarp.c:
	  * gst/flx/gstflxdec.c:
	  * gst/goom/gstgoom.c:
	  * gst/interleave/deinterleave.c:
	  * gst/interleave/interleave.c:
	  * gst/law/alaw-decode.c: (gst_alawdec_base_init):
	  * gst/law/alaw-encode.c: (gst_alawenc_base_init):
	  * gst/law/mulaw-decode.c: (gst_mulawdec_base_init):
	  * gst/law/mulaw-encode.c: (gst_mulawenc_base_init):
	  * gst/level/gstlevel.c:
	  * gst/matroska/matroska-demux.c: (gst_matroska_demux_base_init):
	  * gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init):
	  * gst/median/gstmedian.c:
	  * gst/monoscope/gstmonoscope.c:
	  * gst/multipart/multipartdemux.c:
	  * gst/multipart/multipartmux.c:
	  * gst/oldcore/gstmd5sink.c:
	  * gst/oldcore/gstmultifilesrc.c:
	  * gst/oldcore/gstpipefilter.c:
	  * gst/oldcore/gstshaper.c:
	  * gst/oldcore/gststatistics.c:
	  * gst/rtp/gstasteriskh263.c:
	  * gst/rtp/gstrtpL16depay.c:
	  * gst/rtp/gstrtpL16pay.c:
	  * gst/rtp/gstrtpamrdepay.c:
	  * gst/rtp/gstrtpamrpay.c:
	  * gst/rtp/gstrtpdepay.c:
	  * gst/rtp/gstrtpgsmpay.c:
	  * gst/rtp/gstrtph263pay.c:
	  * gst/rtp/gstrtph263pdepay.c:
	  * gst/rtp/gstrtph263ppay.c:
	  * gst/rtp/gstrtpmp4gpay.c:
	  * gst/rtp/gstrtpmp4vdepay.c:
	  * gst/rtp/gstrtpmp4vpay.c:
	  * gst/rtp/gstrtpmpadepay.c:
	  * gst/rtp/gstrtpmpapay.c:
	  * gst/rtp/gstrtppcmadepay.c:
	  * gst/rtp/gstrtppcmapay.c:
	  * gst/rtp/gstrtppcmudepay.c:
	  * gst/rtp/gstrtppcmupay.c:
	  * gst/rtp/gstrtpspeexdepay.c:
	  * gst/rtp/gstrtpspeexpay.c:
	  * gst/rtsp/gstrtpdec.c:
	  * gst/smpte/gstsmpte.c:
	  * gst/videobox/gstvideobox.c:
	  * gst/videofilter/gstgamma.c: (gst_gamma_base_init):
	  * gst/videofilter/gstvideobalance.c:
	  * gst/videofilter/gstvideoflip.c:
	  * gst/videofilter/gstvideotemplate.c:
	  (gst_videotemplate_base_init):
	  * gst/videomixer/videomixer.c:
	  * gst/wavenc/gstwavenc.c:
	  * gst/wavparse/gstwavparse.c: (gst_wavparse_base_init):
	  better/unified long descriptions
	  Fixed #336602
	  Some cleanups to auparse, don't send multiple newsegments.

2006-03-29 11:31:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/gstmpegparse.c: Don't unref event unconditionally after giving away ownership (gst_pad_push_event(), g...
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_event):
	  Don't unref event unconditionally after giving away ownership
	  (gst_pad_push_event(), gst_pad_send_event() and
	  gst_pad_event_default() take ownership of the event
	  passed to them). Fixes warnings/crashes caused by
	  navigation events.

2006-03-28 20:19:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/gstmpegdemux.c: Don't ref NULL caps (private streams have NULL caps) (#336387); also, no need to set c...
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer):
	  Don't ref NULL caps (private streams have NULL caps) (#336387);
	  also, no need to set caps on the same buffer twice.

2006-03-28 19:44:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/: Don't leak element and pad names in error messages, use
	  Original commit message from CVS:
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event),
	  (gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_get_audio_stream),
	  (gst_dvd_demux_get_subpicture_stream):
	  * gst/mpegstream/gstmpegdemux.c:
	  (gst_mpeg_demux_sync_stream_to_time):
	  Don't leak element and pad names in error messages, use
	  GST_DEBUG_PAD_NAME instead. Add some more debug code.

2006-03-28 19:29:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.c: Name the structure in the custom event with the language codes for the audio and subtitle s...
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_init),
	  (gst_dvd_read_src_goto_title), (gst_dvd_read_src_read):
	  Name the structure in the custom event with the
	  language codes for the audio and subtitle streams
	  actually like dvddemux expects it to be named.
	  Set caps on source pad and outgoing buffers.

2006-03-28 16:06:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.*: Make xingheader property non-functional, it's broken anyway after all (use xingmux instead).
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_init), (gst_lame_set_property),
	  (gst_lame_get_property), (gst_lame_setup):
	  * ext/lame/gstlame.h:
	  Make xingheader property non-functional, it's broken anyway
	  after all (use xingmux instead).

2006-03-28 15:10:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.c: On EOS, flush encoder and send remaining data. Fix return value handling in sink event function.
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_event):
	  On EOS, flush encoder and send remaining data. Fix
	  return value handling in sink event function.

2006-03-27 14:04:08 +0000  Jürg Billeter <j@bitron.ch>

	  ext/dvdread/dvdreadsrc.c: Fix wrong check for started flag when setting the 'device' property.
	  Original commit message from CVS:
	  Patch by: Jürg Billeter  <j at bitron dot ch>
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_set_property):
	  Fix wrong check for started flag when setting the 'device' property.
	  We want to allow it when the source is NOT started yet and ignore it
	  when the source is running.

2006-03-27 10:39:03 +0000  Fabrizio Gennari <fabrizio.ge@tiscali.it>

	  gst/asfdemux/gstasfdemux.*: Subtract first timestamp from timestamps, so that stream starts from 0; makes live stream...
	  Original commit message from CVS:
	  Patch by: Fabrizio Gennari  <fabrizio dot ge at tiscali dot it>
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_setup_pad),
	  (gst_asf_demux_process_chunk):
	  * gst/asfdemux/gstasfdemux.h:
	  Subtract first timestamp from timestamps, so that
	  stream starts from 0; makes live streams that don't
	  start at 0 work again (fixes #317310, #336097).

2006-03-27 10:09:43 +0000  Christian Kirbach <christian.kirbach@googlemail.com>

	  configure.ac: Remove CXX tag from AS_LIBTOOL_TAGS, just like we did for
	  Original commit message from CVS:
	  Patch by: Christian Kirbach
	  * configure.ac:
	  Remove CXX tag from AS_LIBTOOL_TAGS, just like we did for
	  -good. Fixes build on some systems (#331838).

2006-03-24 19:47:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: Extract more tags and also post codec name tag on the bus so this shows up in totem and naut...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
	  (gst_rmdemux_parse_cont):
	  Extract more tags and also post codec name tag on the
	  bus so this shows up in totem and nautilus.

2006-03-24 19:06:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: Extra data usually goes into the caps as 'codec_data', not as first buffer into the stream.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
	  (gst_rmdemux_fill_audio_packet), (gst_rmdemux_parse_packet):
	  Extra data usually goes into the caps as 'codec_data', not
	  as first buffer into the stream.
	  Need to byte swap AC3 content in realmedia files for some
	  reason (fixes #331588).

2006-03-24 12:08:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: When operating in pull mode, post an error message on the bus when all source pads are unlin...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_init),
	  (gst_rmdemux_validate_offset), (gst_rmdemux_loop),
	  (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet):
	  When operating in pull mode, post an error message on the
	  bus when all source pads are unlinked or some other fatal
	  error occured (#323023). Regrade some recurring debug messages
	  to LOG level. Convert c++-style comments into C-style ones.

2006-03-24 11:42:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.*: Handle unlinked source pads properly and stop if all source pads are unlinked (#323023).
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_perform_seek),
	  (gst_rmdemux_loop), (gst_rmdemux_chain), (gst_rmdemux_send_event),
	  (gst_rmdemux_all_source_pads_unlinked),
	  (gst_rmdemux_at_least_one_stream_flowok), (gst_rmdemux_add_stream),
	  (gst_rmdemux_parse_packet):
	  * gst/realmedia/rmdemux.h:
	  Handle unlinked source pads properly and stop if all source pads
	  are unlinked (#323023).

2006-03-23 18:17:34 +0000  Michal Benes <michal.benes@xeris.cz>

	  gst/mpegstream/: Timestamps in mpeg stream are 32-bit numbers. Therefore, with a clock_freq of 90kHz this timestamp o...
	  Original commit message from CVS:
	  Patch by: Michal Benes <michal dot benes at xeris dot cz>
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_init),
	  (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes),
	  (gst_mpeg_demux_send_subbuffer), (gst_mpeg_demux_reset):
	  * gst/mpegstream/gstmpegdemux.h:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead):
	  Timestamps in mpeg stream are 32-bit numbers. Therefore, with a
	  clock_freq of 90kHz this timestamp overflows every ~13 hours. This
	  situation really happens when grabbing DVB streams. Current
	  mpegdemuxer can not handle this situation correctly and it
	  restarts counting gstreamer timestamps from zero.
	  Fixes #326598.

2006-03-15 22:01:40 +0000  Michael Smith <msmith@xiph.org>

	  ext/a52dec/gsta52dec.*: Fix #334550: failure to play raw AC3 files due to segment problems.
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_sink_event),
	  (gst_a52dec_chain_raw), (gst_a52dec_change_state):
	  * ext/a52dec/gsta52dec.h:
	  Fix #334550: failure to play raw AC3 files due to segment problems.

2006-03-15 13:43:42 +0000  Christophe Fergeau <teuf@gnome.org>

	  ext/lame/gstlame.c: use GST_DEBUG_FUNCPTR more often.
	  Original commit message from CVS:
	  Patch by: Christophe Fergeau  <teuf gnome org>
	  * ext/lame/gstlame.c: (gst_lame_release_memory),
	  (gst_lame_finalize), (gst_lame_class_init),
	  (gst_lame_sink_setcaps), (gst_lame_init), (gst_lame_sink_event),
	  (gst_lame_change_state):
	  Fix some memory leaks (#333345), use GST_DEBUG_FUNCPTR more often.

2006-03-14 19:41:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstmad.c: Include AUDIO_CODEC tag with tags posted if input is not framed (#334258). Use _scale() util functi...
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_update_info),
	  (gst_mad_sink_event), (gst_mad_change_state):
	  Include AUDIO_CODEC tag with tags posted if input is not
	  framed (#334258). Use _scale() util functions in more places.

2006-03-12 11:00:33 +0000  Christophe Fergeau <teuf@gnome.org>

	  ext/lame/gstlame.c: mark the xing-header property as BROKEN (see http://bugzilla.gnome.org/show_bug.cgi?id=330317#c19...
	  Original commit message from CVS:
	  2006-03-12  Christophe Fergeau  <teuf@gnome.org>
	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
	  * ext/lame/gstlame.c: (gst_lame_class_init): mark the xing-header
	  property as BROKEN (see
	  http://bugzilla.gnome.org/show_bug.cgi?id=330317#c19 for an
	  explanation why it's broken).

2006-03-11 11:12:30 +0000  Christophe Fergeau <teuf@gnome.org>

	  added new element to add Xing headers to MP3 files (this allows decoder to figure out the length of VBR files)
	  Original commit message from CVS:
	  2006-03-11  Christophe Fergeau  <teuf@gnome.org>
	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
	  * configure.ac:
	  * gst/xingheader/Makefile.am:
	  * gst/xingheader/gstxingmux.c:
	  * gst/xingheader/gstxingmux.h: added new element to add Xing headers
	  to MP3 files (this allows decoder to figure out the length of VBR
	  files)

2006-03-07 11:19:55 +0000  Alex Lancaster <alexlan@fedoraproject.org>

	  ext/mad/gstid3tag.c: Add support for writing the GST_TAG_ALBUM_VOLUME_NUMBER
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (tag_list_to_id3_tag_foreach):
	  Add support for writing the GST_TAG_ALBUM_VOLUME_NUMBER
	  tag (#333683, patch by: Alex Lancaster).

2006-03-02 20:03:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/amrnb/: Further fancyfication.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_init),
	  (gst_amrnbdec_setcaps), (gst_amrnbdec_chain),
	  (gst_amrnbdec_state_change):
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_init),
	  (gst_amrnbenc_setcaps), (gst_amrnbenc_chain),
	  (gst_amrnbenc_state_change):
	  * ext/amrnb/amrnbenc.h:
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_init),
	  (gst_amrnbparse_query):
	  Further fancyfication.
	  Use _take to get writable data from the adapter.
	  Precalc packet duration.
	  Handle disconts.
	  Forward _push to upstream.
	  Post error messages when something goes wrong.
	  Remove old code in amrnbparse.
	  Don't ignore query results from upstream.

2006-03-02 18:45:40 +0000  Michael Smith <msmith@xiph.org>

	  ext/amrnb/amrnbenc.c: The AMR encoder writes into the audio buffers it processes, so use gst_buffer_make_writable() o...
	  Original commit message from CVS:
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_chain):
	  The AMR encoder writes into the audio buffers it processes, so
	  use gst_buffer_make_writable() on buffers we might (they go through
	  an adapter, so there can be copying going on later anyway) be
	  encoding.

2006-03-01 12:35:09 +0000  Jens Granseuer <jensgr@gmx.net>

	  gst/mpegstream/gstmpegparse.c: Declare variables at the beginning of a block and make
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_pad_added),
	  (gst_mpeg_parse_handle_src_query):
	  Declare variables at the beginning of a block and make
	  gcc-2.9x happy (fixes #328957; patch by: Jens Granseuer).

2006-03-01 09:55:49 +0000  Fabrizio <fabrizio.ge@tiscali.it>

	  gst/asfdemux/gstasfdemux.c: Read packet size, sequence and padsize in right order again
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_data):
	  Read packet size, sequence and padsize in right order again
	  (fixes #332796; patch by: Fabrizio Gennari).

2006-02-28 13:50:02 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/iec958/ac3iec.c: Set a proper klass (Codec/Muxer/Audio) for the ElementDetails.
	  Original commit message from CVS:
	  * gst/iec958/ac3iec.c:
	  Set a proper klass (Codec/Muxer/Audio) for the ElementDetails.

2006-02-27 18:37:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Make the id3tag and mad checks check for both a header and the appropriate library if the pkg-config is...
	  Original commit message from CVS:
	  * configure.ac:
	  Make the id3tag and mad checks check for both a header and the
	  appropriate library if the pkg-config is missing. (Closes #331842)
	  Split the id3tag and mad checks into 2 pieces. Sometime soon I might
	  do the same for the plugins themselves.

2006-02-27 14:49:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mpeg2dec/gstmpeg2dec.*: Don't treat STATE_INVALID as fatal error; throw an error only after five consecutive deco...
	  Original commit message from CVS:
	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
	  (gst_mpeg2dec_reset), (gst_mpeg2dec_chain):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Don't treat STATE_INVALID as fatal error; throw an error
	  only after five consecutive decoding errors. Makes decoding
	  mpeg streams more robust and fixes playback of joined clips
	  (#300682).

2006-02-26 22:33:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdnav/dvdnavsrc.h: Oops. forgot to add this one.
	  Original commit message from CVS:
	  * ext/dvdnav/dvdnavsrc.h:
	  Oops. forgot to add this one.

2006-02-26 21:25:01 +0000  Julien Moutte <julien@moutte.net>

	  ext/Makefile.am: Fix dist-check.
	  Original commit message from CVS:
	  2006-02-26  Julien MOUTTE  <julien@moutte.net>
	  * ext/Makefile.am: Fix dist-check.

2006-02-26 18:01:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Disable dvdnavsrc for now.
	  Original commit message from CVS:
	  * configure.ac:
	  Disable dvdnavsrc for now.

2006-02-26 17:55:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  dvdnavsrc ported to 0.10, for the most part at least. Not quite ready for prime time yet though.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/Makefile.am:
	  * ext/dvdnav/Makefile.am:
	  * ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_base_init),
	  (gst_dvd_nav_src_class_init), (gst_dvd_nav_src_check_get_range),
	  (gst_dvd_nav_src_init), (gst_dvd_nav_src_finalize),
	  (gst_dvd_nav_src_is_open), (gst_dvd_nav_src_set_property),
	  (gst_dvd_nav_src_get_property), (gst_dvd_nav_src_set_clock),
	  (gst_dvd_nav_src_tca_seek), (gst_dvd_nav_src_update_streaminfo),
	  (gst_dvd_nav_src_set_domain), (gst_dvd_nav_src_update_highlight),
	  (gst_dvd_nav_src_user_op), (dvdnav_get_event_name),
	  (dvdnav_get_read_domain_name), (gst_dvd_nav_src_print_event),
	  (gst_dvd_nav_src_make_dvd_event),
	  (gst_dvd_nav_src_structure_set_uint64),
	  (gst_dvd_nav_src_push_dvd_nav_packet_event),
	  (gst_dvd_nav_src_push_clut_change_event), (read_vts_info),
	  (gst_dvd_nav_src_push_titlelang_event),
	  (gst_dvd_nav_src_process_next_block), (gst_dvd_nav_src_create),
	  (gst_dvd_nav_src_start), (gst_dvd_nav_src_stop),
	  (gst_dvd_nav_src_handle_navigation_event),
	  (gst_dvd_nav_src_handle_seek_event), (gst_dvd_nav_src_src_event),
	  (gst_dvd_nav_src_query_position), (gst_dvd_nav_src_query_duration),
	  (gst_dvd_nav_src_query), (gst_dvd_nav_src_uri_get_type),
	  (gst_dvd_nav_src_uri_get_protocols), (gst_dvd_nav_src_uri_get_uri),
	  (gst_dvd_nav_src_uri_set_uri), (gst_dvd_nav_src_uri_handler_init),
	  (gst_dvd_nav_src_do_init), (plugin_init):
	  dvdnavsrc ported to 0.10, for the most part at least. Not quite
	  ready for prime time yet though.

2006-02-23 20:08:58 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/cdio/Makefile.am: Add GST_BASE_CFLAGS and GST_BASE_LIBS (seems to be required for Cygwin, see #317048)
	  Original commit message from CVS:
	  * ext/cdio/Makefile.am:
	  Add GST_BASE_CFLAGS and GST_BASE_LIBS (seems to be
	  required for Cygwin, see #317048)
	  * gst/rtp/gstasteriskh263.c:
	  Cygwin has includes for both the unix network socket API
	  and the windows API, but only one can be included, so fix
	  includes to only use one or the other, prefering the unxi
	  one (#317048).

2006-02-22 14:54:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Port dvdsubdec to 0.10
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/dvdsub/Makefile.am:
	  * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_base_init),
	  (gst_dvd_sub_dec_class_init), (gst_dvd_sub_dec_init),
	  (gst_dvd_sub_dec_finalize), (gst_dvd_sub_dec_src_event),
	  (gst_dvd_sub_dec_get_event_delay), (gst_dvd_sub_dec_parse_subpic),
	  (gst_get_nibble), (gst_setup_palette), (gst_get_rle_code),
	  (gst_draw_rle_line), (gst_dvd_sub_dec_merge_title),
	  (gst_send_empty_fill), (gst_send_subtitle_frame),
	  (gst_dvd_sub_dec_advance_time), (gst_dvd_sub_dec_chain),
	  (gst_dvd_sub_dec_sink_event), (gst_dvd_sub_dec_handle_dvd_event),
	  (plugin_init):
	  * gst/dvdsub/gstdvdsubdec.h:
	  Port dvdsubdec to 0.10

2006-02-21 16:24:10 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/mpegstream/gstdvddemux.c: Push the rank up to SECONDARY+1 so that dvddemux is preferred over mpegdemux for MPEG-2...
	  Original commit message from CVS:
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_plugin_init):
	  Push the rank up to SECONDARY+1 so that dvddemux is preferred over
	  mpegdemux for MPEG-2 video streams.

2006-02-20 19:16:10 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Bump nano back to CVS
	  Original commit message from CVS:
	  * configure.ac:
	  Bump nano back to CVS

=== release 0.10.2 ===

2006-02-20 19:13:54 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: releasing 0.10.2, "Season to Taste"
	  Original commit message from CVS:
	  * configure.ac:
	  releasing 0.10.2, "Season to Taste"

2006-02-19 23:45:34 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: releasing 0.10.1.3 prelease for 0.10.2
	  Original commit message from CVS:
	  * configure.ac:
	  releasing 0.10.1.3 prelease for 0.10.2

2006-02-17 17:58:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/asfdemux/gstasfdemux.c: In sink event handler, release object lock again _before_ sending EOS event downstream (#...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event):
	  In sink event handler, release object lock again
	  _before_ sending EOS event downstream (#313838).

2006-02-17 17:54:37 +0000  Christian Schaller <uraeus@gnome.org>

	* ChangeLog:
	* gst/asfdemux/gstasf.c:
	  fix rank of asfdemux
	  Original commit message from CVS:
	  fix rank of asfdemux

2006-02-17 15:08:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: releasing 0.10.1.2 prelease for 0.10.2
	  Original commit message from CVS:
	  * configure.ac:
	  releasing 0.10.1.2 prelease for 0.10.2

2006-02-17 15:02:30 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-ugly.spec.in:
	  latest updates
	  Original commit message from CVS:
	  latest updates

2006-02-17 11:51:12 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mpeg2dec/gstmpeg2dec.c: When we need to crop the output buffer, make sure we create a buffer of the right size an...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (crop_copy_i420_buffer),
	  (crop_copy_i422_buffer), (crop_buffer):
	  When we need to crop the output buffer, make sure we
	  create a buffer of the right size and respect the implicit
	  striding used for I420 elsewhere in GStreamer (#331301).

2006-02-17 11:19:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/cdio/gstcdio.c: Init debug category (#331253).
	  Original commit message from CVS:
	  * ext/cdio/gstcdio.c: (plugin_init):
	  Init debug category (#331253).

2006-02-17 10:24:56 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/asfdemux/gstasfdemux.c: Do not error out on non-recognized streams. Ignore them and allow playback of the other s...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_stream):
	  Do not error out on non-recognized streams. Ignore them and allow
	  playback of the other streams.

2006-02-17 10:10:40 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/dvdlpcmdec/gstdvdlpcmdec.c: Add a small sanity check for LPCM reading.
	  Original commit message from CVS:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_dvd):
	  Add a small sanity check for LPCM reading.

2006-02-17 09:54:43 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/asfdemux/gstasfdemux.c: Take into account the file properties preroll value for timestamping/newsegment. It's wei...
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_file):
	  Take into account the file properties preroll value for
	  timestamping/newsegment. It's weird this value was commented out.

2006-02-16 17:57:59 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/asfdemux/Makefile.am: More asf makefile fixing.
	  Original commit message from CVS:
	  * gst/asfdemux/Makefile.am:
	  More asf makefile fixing.

2006-02-16 17:16:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/lame/gstlame.c: Fix up lame a bit.
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_init), (gst_lame_chain),
	  (gst_lame_change_state):
	  Fix up lame a bit.
	  Apply patch #319782 by Gautier Portet.

2006-02-16 11:14:11 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/asfdemux/Makefile.am: But we do need to link against the riff libraryr.
	  Original commit message from CVS:
	  * gst/asfdemux/Makefile.am:
	  But we do need to link against the riff libraryr.

2006-02-16 11:08:51 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/asfdemux/Makefile.am: We don't want asfmux.c yet.
	  Original commit message from CVS:
	  * gst/asfdemux/Makefile.am:
	  We don't want asfmux.c yet.

2006-02-16 09:50:43 +0000  Jon Trowbridge <trow@ximian.com>

	  ext/mad/gstmad.c: Port fixes for bugs 314771, 308772, 140237, and 302625
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_init), (scale), (gst_mad_update_info),
	  (gst_mad_sink_event), (gst_mad_check_caps_reset), (gst_mad_chain),
	  (gst_mad_change_state):
	  Port fixes for bugs 314771, 308772, 140237, and 302625
	  from 0.8 (Patch by Jonathan Matthew, Fixes #329575)
	  Use GST_EVENT_FLUSH_STOP to clear data from the current input
	  buffer, to avoid using it for any future decoding.

2006-02-15 15:48:07 +0000  Tim-Philipp Müller <tim@centricular.net>

	  asfdemux ported to 0.10. Does still need a bit of work (seems like there's something funky going on when timestamping...
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/asfdemux/asfheaders.c: (gst_asf_identify_guid),
	  (gst_asf_get_guid_nick):
	  * gst/asfdemux/asfheaders.h:
	  * gst/asfdemux/gstasf.c: (plugin_init):
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
	  (gst_asf_demux_class_init), (gst_asf_demux_init),
	  (gst_asf_demux_sink_event), (gst_asf_demux_handle_seek_event),
	  (gst_asf_demux_handle_src_event),
	  (gst_asf_demux_get_current_offset), (gst_asf_demux_chain),
	  (gst_asf_demux_skip_bytes), (gst_asf_demux_identify_guid),
	  (gst_asf_demux_get_uint8), (gst_asf_demux_get_uint16),
	  (gst_asf_demux_get_uint32), (gst_asf_demux_get_uint64),
	  (gst_asf_demux_get_var_length), (gst_asf_demux_get_buffer),
	  (gst_asf_demux_get_bytes), (gst_asf_demux_get_string),
	  (gst_asf_demux_get_guid), (gst_asf_demux_get_obj_file),
	  (gst_asf_demux_get_bitrate_record),
	  (gst_asf_demux_get_obj_comment), (gst_asf_demux_get_obj_header),
	  (gst_asf_demux_get_obj_header_ext), (gst_asf_demux_get_obj_stream),
	  (gst_asf_demux_get_replicated_data), (gst_asf_demux_get_obj_data),
	  (gst_asf_demux_get_obj_data_correction),
	  (gst_asf_demux_get_stream_audio),
	  (gst_asf_demux_get_stream_correction),
	  (gst_asf_demux_get_stream_video),
	  (gst_asf_demux_get_stream_video_format),
	  (gst_asf_demux_get_stream), (gst_asf_demux_setup_pad),
	  (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream),
	  (gst_asf_demux_process_stream),
	  (gst_asf_demux_get_gst_tag_from_tag_name),
	  (gst_asf_demux_commit_taglist),
	  (gst_asf_demux_process_ext_content_desc),
	  (gst_asf_demux_get_object_header), (gst_asf_demux_process_data),
	  (gst_asf_demux_process_header), (gst_asf_demux_process_file),
	  (gst_asf_demux_process_comment),
	  (gst_asf_demux_process_bitrate_props_object),
	  (gst_asf_demux_process_header_ext), (gst_asf_demux_process_object),
	  (gst_asf_demux_descramble_segment),
	  (gst_asf_demux_element_send_event),
	  (gst_asf_demux_send_event_unlocked), (gst_asf_demux_push_buffer),
	  (gst_asf_demux_process_chunk), (gst_asf_demux_process_segment),
	  (gst_asf_demux_handle_data), (gst_asf_demux_parse_data),
	  (gst_asf_demux_get_src_query_types),
	  (gst_asf_demux_handle_src_query), (gst_asf_demux_change_state):
	  * gst/asfdemux/gstasfdemux.h:
	  asfdemux ported to 0.10. Does still need a bit of work (seems like
	  there's something funky going on when timestamping video frames).
	  The seeking code is likely to make Wim cry, but hey, at least it
	  compiles.

2006-02-15 10:18:39 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/amrnb/amrnbdec.c: Some more comments.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_setcaps),
	  (gst_amrnbdec_chain), (gst_amrnbdec_state_change):
	  Some more comments.
	  * ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer), (handle_slice):
	  Applied patch from Fabrizio Gennari, fixes #330844.

2006-02-14 14:57:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.*: Let's try to play the title the user set via the URI handler or via properties instead of a...
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_init),
	  (gst_dvd_read_src_class_init), (gst_dvd_read_src_start),
	  (gst_dvd_read_src_stop), (gst_dvd_read_src_goto_title),
	  (gst_dvd_read_src_set_property), (gst_dvd_read_src_get_property),
	  (gst_dvd_read_src_uri_get_uri), (gst_dvd_read_src_uri_set_uri):
	  * ext/dvdread/dvdreadsrc.h:
	  Let's try to play the title the user set via the URI handler or
	  via properties instead of always playing the first title. Also,
	  Also, count title/chapter/angle number in URI and properties
	  from 1 rather than 0.

2006-02-13 14:09:26 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.c: Don't implement GstBaseSrc::get_size or GstBaseSrc::is_seekable, otherwise GstBaseSrc will ...
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_class_init),
	  (gst_dvd_read_src_get_size), (gst_dvd_read_src_do_seek),
	  (gst_dvd_read_src_do_duration_query):
	  Don't implement GstBaseSrc::get_size or GstBaseSrc::is_seekable,
	  otherwise GstBaseSrc will think we can operate pull_range based,
	  which we don't really, and typefinding will fail miserably.
	  Also, make seeking work somewhat (only works with flumpegdemux
	  at the moment, mpegstream needs fixing for that first).

2006-02-13 14:00:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.c: Only allocate buffer once we know exactly how much we need, rather than gratuitously alloca...
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read),
	  (gst_dvd_read_src_create), (gst_dvd_read_src_src_event):
	  Only allocate buffer once we know exactly how much we need,
	  rather than gratuitously allocating 2MB-buffers all the time
	  even if we usually need much less than that. Also, demote
	  a debug message from DEBUG to LOG level.

2006-02-10 12:40:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/dvdread/dvdreadsrc.c: Add some more debugging and fix duration query in BYTES.
	  Original commit message from CVS:
	  * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_class_init),
	  (gst_dvd_read_src_seekable), (gst_dvd_read_src_get_size),
	  (gst_dvd_read_src_do_seek), (gst_dvd_read_src_do_duration_query),
	  (gst_dvd_read_src_do_position_query):
	  Add some more debugging and fix duration query in BYTES.

2006-02-09 17:27:57 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Half-baked port to 0.10. Needs some love in the seeking department, but at least it does something.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/Makefile.am:
	  * ext/dvdread/Makefile.am:
	  * ext/dvdread/dvdreadsrc.c:
	  * ext/dvdread/dvdreadsrc.h:
	  Half-baked port to 0.10. Needs some love
	  in the seeking department, but at least
	  it does something.
	  * ext/dvdread/stream_labels.c:
	  * ext/dvdread/stream_labels.h:
	  Remove these (we use ISO-639 language codes internally; applications
	  that want to translate those into language names for display to the
	  user should rely on the iso-codes package for that).

2006-02-06 15:55:28 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/amrnb/amrnbdec.*: Fix amrnbdec, handle events, take copy from adapter since the decoder apparently writes in the ...
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_init),
	  (gst_amrnbdec_setcaps), (gst_amrnbdec_event), (gst_amrnbdec_chain),
	  (gst_amrnbdec_state_change):
	  * ext/amrnb/amrnbdec.h:
	  Fix amrnbdec, handle events, take copy from adapter since the decoder
	  apparently writes in the source data.
	  Use some _scale_int, and precalc duration.
	  Fix some leaks, post ERROR messages.

2006-02-06 11:34:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/plugins/: Add cdio plugin to docs.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-good-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-good-plugins-sections.txt:
	  * docs/plugins/inspect/plugin-cdio.xml:
	  Add cdio plugin to docs.
	  * ext/cdio/gstcdiocddasrc.c:
	  Add gtk-doc blurb.
	  * ext/cdio/gstcdio.c:
	  The plugin is called 'cdio' not 'cddio'.

2006-02-04 15:22:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/realmedia/rmdemux.c: One source pad not being linked is not an error condition when we're still parsing the heade...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream):
	  One source pad not being linked is not an error condition when we're
	  still parsing the header. In this case (e.g. where we don't have a
	  suitable decoder installed) just pretend everything is fine, so that
	  the demuxer will actually go on to signal no-more-pads when done
	  parsing the header, otherwise  decodebin/playbin will never post the
	  appropriate error message if decoders are not available.

2006-02-03 18:24:54 +0000  Edgard Lima <edgard.lima@indt.org.br>

	* ChangeLog:
	* common:
	* ext/mad/gstid3tag.c:
	* gst/realmedia/rmdemux.c:
	  Just make it compile with --disable-gst-debug.
	  Original commit message from CVS:
	  Just make it compile with --disable-gst-debug.

2006-01-31 22:03:30 +0000  Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl>

	  ext/mad/gstmad.c: Merge patch from Radoslaw Szkodzinski (bug 326734)
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_convert_src), (scale),
	  (gst_mad_check_caps_reset), (gst_mad_chain):
	  Merge patch from Radoslaw Szkodzinski (bug 326734)

2006-01-30 22:00:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/mad/gstid3tag.c: fixing Gdate handling enabling mux/demux mode switching adding better debug output
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (tag_list_to_id3_tag_foreach),
	  (gst_id3_tag_get_tag_to_render), (gst_id3_tag_sink_event),
	  (gst_id3_tag_src_link), (gst_id3_tag_send_tag_event),
	  (gst_id3_tag_chain):
	  fixing Gdate handling
	  enabling mux/demux mode switching
	  adding better debug output

2006-01-30 18:57:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/gstmpegparse.c: If we haven't set caps on a source pad yet, the caps on the pad are NULL, not un-fixed...
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_buffer):
	  If we haven't set caps on a source pad yet, the caps on the
	  pad are NULL, not un-fixed. Set caps on outgoing buffers.

2006-01-23 18:37:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.*: Contrary to what the const char in the lame API might suggest, lame expects us to keep the string...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_finalize), (gst_lame_class_init),
	  (gst_lame_init), (add_one_tag), (gst_lame_set_metadata):
	  * ext/lame/gstlame.h:
	  Contrary to what the const char in the lame API might suggest,
	  lame expects us to keep the strings we pass to id3tag_set_foo()
	  around; it doesn't free them either though, so we have to store
	  them somewhere and free them later when we can be sure lame
	  doesn't need them any longer.

2006-01-23 15:02:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/lame/gstlame.c: don't pass an uninitialised string pointer to lame if we don't know how to handle the tag type, a...
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (add_one_tag):
	  Fix handling of GST_TAG_DATE (#311679), don't pass an
	  uninitialised string pointer to lame if we don't know
	  how to handle the tag type, and fix minor memory leak.

2006-01-23 10:15:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstmad.c: Fix debug message.
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  Fix debug message.

2006-01-22 12:00:46 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event): Erase spurious call to gst_segment_set_newsegment.
	  Original commit message from CVS:
	  2006-01-22  Martin Soto  <martinsoto@users.sourceforge.net>
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event):
	  Erase spurious call to gst_segment_set_newsegment.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event): Call
	  the superclass method when handling NEWSEGMENT events.
	  (gst_dvd_demux_handle_dvd_event): Get rid of dvd-audio-shutdown
	  and dvd-audio-restart event handling. There are currently less
	  hackish ways of handling the sparse audio stream problem.

2006-01-20 14:18:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  fix up error domains, error strings, and use of translation
	  Original commit message from CVS:
	  2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
	  * ext/dvdnav/dvdnavsrc.c: (if):
	  * ext/dvdread/stream_labels.c:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_segment):
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_loop):
	  fix up error domains, error strings, and use of translation
	  * po/POTFILES.in:
	  fix up this file, even though none of them are actually marked
	  for build yet.

2006-01-19 21:32:05 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse): gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset) (gst_mpeg_...
	  Original commit message from CVS:
	  2006-01-19  Martin Soto  <martinsoto@users.sourceforge.net>
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse):
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset)
	  (gst_mpeg_parse_process_event, gst_mpeg_parse_parse_packhead)
	  (gst_mpeg_parse_change_state):
	  Make timestamp adjustment somewhat milder. Actual timestamps are
	  now sent unmodified unless an actual gap is found in the
	  stream. This should fix time display when playing most MPEG
	  files.

2006-01-19 00:10:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/cdio/: Fix build for libcdio versions >= 76; give slightly lower rank than cdparanoia.
	  Original commit message from CVS:
	  * ext/cdio/gstcdio.c: (gst_cdio_add_cdtext_field), (plugin_init):
	  * ext/cdio/gstcdio.h:
	  * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_get_cdtext):
	  Fix build for libcdio versions >= 76; give slightly lower rank
	  than cdparanoia.

2006-01-18 19:30:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Port libcdio cdda source, formerly known as cddasrc, now known as cdiocddasrc (fixes #323327). Should also read CD-TE...
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/Makefile.am:
	  * ext/cdio/Makefile.am:
	  * ext/cdio/gstcdio.c:
	  * ext/cdio/gstcdio.h:
	  * ext/cdio/gstcdiocddasrc.c:
	  * ext/cdio/gstcdiocddasrc.h:
	  Port libcdio cdda source, formerly known as cddasrc, now known as
	  cdiocddasrc (fixes #323327). Should also read CD-TEXT if available,
	  but that's not tested (fixes #317658).

2006-01-18 09:30:00 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/mpegstream/gstmpegdemux.c: tss tss... always set caps on outgoing buffer.
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer):
	  tss tss... always set caps on outgoing buffer.

2006-01-17 14:16:52 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-ugly.spec.in:
	  update spec file
	  Original commit message from CVS:
	  update spec file

2006-01-13 19:30:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.10.1 ===

2006-01-13 19:25:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-amrnb.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	  releasing 0.10.1
	  Original commit message from CVS:
	  releasing 0.10.1

2006-01-11 11:44:02 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	  prerelease
	  Original commit message from CVS:
	  prerelease

2006-01-10 11:43:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Pass unhandled queries upstream (useful e.g. for SEEKING query)
	  Original commit message from CVS:
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_query):
	  * ext/mad/gstid3tag.c: (gst_id3_tag_src_query):
	  * ext/mad/gstmad.c: (gst_mad_src_query):
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_query):
	  * ext/sidplay/gstsiddec.cc:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_query):
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_src_query):
	  Pass unhandled queries upstream (useful e.g. for SEEKING query)
	  (fixes #325652; based on patch by: Philippe); make rmdemux return
	  FALSE for position queries, instead of setting -1 as value and
	  returning TRUE.

2006-01-05 21:36:49 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts)
	  Original commit message from CVS:
	  2006-01-05  Martin Soto  <martinsoto@users.sourceforge.net>
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts)
	  (gst_mpeg_parse_process_event, gst_mpeg_parse_pad_added): Don't
	  rewrite timestamps in the case segments are being set from
	  upstream, but use timestamps unmodified. Also send proper position
	  values. This allows for correct time display and makes queries
	  work in sink elements.
	  * gst/mpegstream/gstdvddemux.h:
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init)
	  (gst_dvd_demux_handle_dvd_event, gst_dvd_demux_send_subbuffer):
	  Rename flush_filter to segment_filter, which is better represents
	  what the arreibute does.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event):
	  Activate segment filtering when a timestamp discontinuity is seen.

2006-01-04 15:17:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstmad.c: Don't forget that we need to send out a newsegment event after a restart even if we don't have enou...
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  Don't forget that we need to send out a newsegment event after a
	  restart even if we don't have enough data to decode a frame right
	  now.

2005-12-30 23:51:46 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event): Use the new "audio-shutdown" and "audio-restart" DVD e...
	  Original commit message from CVS:
	  2005-12-31  Martin Soto  <martinsoto@users.sourceforge.net>
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event):
	  Use the new "audio-shutdown" and "audio-restart" DVD events
	  instead of the "spu-still-frame" event to shutdown and restart
	  the audio pipeline.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts):
	  Check for cases where the segment-based adjustment calculation
	  would produce negative values (which result in an overflow) and
	  return GST_CLOCK_TIME_NONE instead.
	  * gst/mpegstream/gstdvddemux.h:
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init)
	  (gst_dvd_demux_process_event, gst_dvd_demux_send_subbuffer):
	  Add a mechanism to discard audio buffers with timestamps outside
	  the currently set segment. This was causing (sometimes serious)
	  synchronization problems after seeking in DVDs with LPCM audio,
	  since VOBUs usually contain audio material that lies outside the
	  timestamp range specified by the header.

2005-12-30 16:25:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/mad/gstid3tag.c: Remove lingering reference to GstID3Demux
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (gst_id3_tag_get_type):
	  Remove lingering reference to GstID3Demux
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_pes):
	  Don't output debug saying padding streams are unknown type,
	  because they're not

2005-12-27 19:06:08 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/mpegstream/gstdvddemux.c (AUDIO_CAPS)
	  Original commit message from CVS:
	  2005-12-27  Martin Soto  <martinsoto@users.sourceforge.net>
	  * gst/mpegstream/gstdvddemux.c (AUDIO_CAPS)
	  (gst_dvd_demux_get_audio_stream): Use audio/x-lpcm as mimetype for
	  LPCM.
	  * gstmpegdemux.h:
	  * gstmpegdemux.c (gst_mpeg_demux_get_video_stream)
	  (gst_mpeg_demux_get_audio_stream):
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_get_video_stream)
	  (gst_dvd_demux_get_audio_stream)
	  (gst_dvd_demux_get_subpicture_stream)
	  (gst_dvd_demux_send_subbuffer):
	  Send current* pad buffers with appropriate caps.

2005-12-26 17:48:32 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/iec958/ac3iec.*: (NORMAL_CAPS_DEF, RAW_AUDIO_CAPS_DEF, ac3iec_class_init)
	  Original commit message from CVS:
	  2005-12-26  Martin Soto  <martinsoto@users.sourceforge.net>
	  * gst/iec958/ac3iec.h:
	  * gst/iec958/ac3iec.c:
	  (NORMAL_CAPS_DEF, RAW_AUDIO_CAPS_DEF, ac3iec_class_init)
	  (ac3iec_init, ac3iec_set_property, ac3iec_get_property): Add a
	  raw-audio property to ac3iec958 that allows setting the source pad
	  caps to raw audio instead of audio/x-iec958. This makes it
	  possible to use ac3iec958 together with the normal alsasink
	  element to drive an external receiver that autodetects AC3
	  content.

2005-12-23 15:48:04 +0000  Michael Smith <msmith@xiph.org>

	  gst/iec958/ac3iec.*: Accept audio/x-ac3 and audio/ac3 to ac3iec958 element.
	  Original commit message from CVS:
	  * gst/iec958/ac3iec.c: (ac3iec_init), (ac3iec_setcaps),
	  (ac3iec_chain_dvd):
	  * gst/iec958/ac3iec.h:
	  Accept audio/x-ac3 and audio/ac3 to ac3iec958 element.

2005-12-21 10:25:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mpeg2dec/gstmpeg2dec.c: When getting a seek event, first check if the upstream element can handle it and only do ...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_event):
	  When getting a seek event, first check if the upstream element
	  can handle it and only do our own seek stuff when it can't
	  (should fix #322856).

2005-12-21 09:58:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mpeg2dec/gstmpeg2dec.c: Really convert to BYTES format when we want to convert to bytes (use right variable; fixe...
	  Original commit message from CVS:
	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
	  * ext/mpeg2dec/gstmpeg2dec.c: (normal_seek):
	  Really convert to BYTES format when we want to convert
	  to bytes (use right variable; fixes #322856).

2005-12-19 17:26:47 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  Big mpegparse clean up, second round:
	  Original commit message from CVS:
	  2005-12-19  Martin Soto  <martinsoto@users.sourceforge.net>
	  Big mpegparse clean up, second round:
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event):
	  Send and EOS event down the audio pipeline when an still frame
	  event arrives. This prevents the pipeline from locking when a
	  still menu comes directly after a flush.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset):
	  Don't send a newsegment in reset.
	  (gst_mpeg_parse_adjust_ts): Check for invalid timestamps.
	  (gst_mpeg_parse_handle_newsegment, gst_mpeg_parse_process_event):
	  Move the code of handle_newsegment to process_event. Send a
	  NEWSEGMENT after FLUSH_STOP.
	  (gst_mpeg_parse_change_state): Send a NEWSEGMENT right after
	  moving to PAUSED.
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_event)
	  (gst_mpeg_demux_class_init): Don't override send_event.
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_init)
	  (gst_mpeg_demux_send_event, gst_mpeg_demux_send_subbuffer)
	  (gst_mpeg_demux_reset):
	  * gst/mpegstream/gstmpegdemux.h:  Get rid of just_flushed
	  attribute.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event):
	  Reset the mpegparse element after a flush.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_newsegment):
	  Don't forward events.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event):
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass):
	  handle_newsegment is not a virtual method anymore.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_send_newsegment)
	  (gst_mpeg_parse_reset, gst_mpeg_parse_class_init):
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): Get
	  rid of send_newsegment virtual method.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event): Only
	  handle DVD events and call the superclass method for other event
	  types.
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_event): Don't
	  override process_event anymore.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_event)
	  (gst_mpeg_parse_process_event): Move actual event processing to
	  process event so that subclasses can properly override or extend
	  it.
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass):
	  Eliminate time parameter in process event.
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_init)
	  (gst_mpeg_demux_parse_packet, gst_mpeg_demux_parse_pes)
	  (gst_mpeg_demux_send_subbuffer):
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init)
	  (gst_mpeg_parse_parse_packhead, gst_mpeg_parse_event)
	  (gst_mpeg_parse_chain): Use the new adjust_ts method instead of
	  adding the value of the adjust attribute.
	  * gst/mpegstream/gstmpegdemux.h (struct _GstMPEGVideoStream): Get
	  rid of the adjust attribute. Now all timestamp adjustments are
	  performed by mpegparse using the current segment.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts)
	  (gst_mpeg_parse_class_init): Implement the adjust_ts method based
	  on the adjust attribute for SCR values and the current segment.
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): New
	  adjust_ts virtual method to adjust timestamps for outgoing
	  buffers.
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_newsegment)
	  (gst_mpeg_demux_parse_packet): Don't override send_newsegment.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_class_init)
	  (gst_dvd_demux_handle_newsegment): Don't override
	  handle_newsegment.
	  (gst_dvd_demux_process_event, gst_dvd_demux_handle_dvd_event):
	  Check for DVD events in process_event instead of
	  handle_dvd_event.
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass):
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_newsegment)
	  (gst_mpeg_parse_send_newsegment, gst_mpeg_parse_send_event):
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_process_event)
	  (gst_mpeg_demux_send_event):
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event)
	  (gst_dvd_demux_handle_dvd_event):
	  Eliminate the time parameter in send_event.

2005-12-18 15:08:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/mad/gstid3tag.c: Fix typefinding in id3demux, and then remove it in favour of the new LGPL id3demux in gst-plugin...
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (gst_id3_tag_do_typefind),
	  (gst_id3_tag_do_caps_nego), (gst_id3_tag_chain), (plugin_init):
	  Fix typefinding in id3demux, and then remove it in favour
	  of the new LGPL id3demux in gst-plugins-good
	  * ext/mad/gstmad.c: (gst_mad_dispose):
	  dispose can run more than once.

2005-12-16 21:56:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/asfdemux/gstasfmux.c: change some char* into char[]
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfmux.c: (gst_asfmux_file_start):
	  change some char* into char[]

2005-12-15 17:06:10 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/realmedia/rmdemux.c: Remove memleak from unused GstRMDemuxStream
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream):
	  Remove memleak from unused GstRMDemuxStream

2005-12-12 19:17:11 +0000  Michael Smith <msmith@xiph.org>

	  ext/mad/gstid3tag.c: Use the correct function to free typefind factory list.
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list),
	  (gst_id3_tag_do_typefind):
	  Use the correct function to free typefind factory list.

2005-12-09 18:38:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstmad.c: For position and duration queries in TIME format, try the peer first (might be a demuxer).
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_src_query):
	  For position and duration queries in TIME format, try the peer
	  first (might be a demuxer).

2005-12-08 12:45:09 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_newsegment): Properly handle non contiguous VOBUs by adding the se...
	  Original commit message from CVS:
	  2005-12-08  Martin Soto  <martinsoto@users.sourceforge.net>
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_newsegment):
	  Properly handle non contiguous VOBUs by adding the segment accum
	  field to the adjust value.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_class_init)
	  (gst_dvd_demux_init, gst_dvd_demux_handle_newsegment): Extend
	  handle_newsegment to prevent sending actual newsegment events and
	  use tiemstamp rewriting instead.
	  (gst_dvd_demux_handle_dvd_event): Don't send a newsegment after
	  dvd-lang-codes.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_newsegment)
	  (gst_mpeg_parse_event):
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass):
	  Add a new parameter to handle_newsegment to allow controlling
	  whether newsegment events are forwarded or not.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init)
	  (gst_dvd_demux_handle_dvd_event, gst_dvd_demux_send_subbuffer)
	  (gst_dvd_demux_reset):
	  last_end_ptm and discont_time aren't necessary anymore, since
	  timestamp adjustment is now replaced by newsegment events.
	  (gst_dvd_demux_init): Prevent MPEGParse from adjusting
	  timestamps.
	  * gst/mpegstream/gstdvddemux.h:
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event):
	  Don't handle dvd-nav-packet events anymore, since the are now
	  replaced by standard newsegment events.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init)
	  (gst_dvd_demux_handle_dvd_event, gst_dvd_demux_send_subbuffer)
	  (gst_dvd_demux_change_state):
	  * gst/mpegstream/gstdvddemux.h:
	  Get rid of the ignore_next_newmedia_discont hack.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_class_init)
	  (gst_dvd_demux_handle_newsegment):
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_class_init)
	  (gst_mpeg_demux_handle_newsegment): Don't override
	  handle_newsegment anymore. It was only necessary to handle
	  NEWMEDIA events.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event)
	  (gst_dvd_demux_handle_dvd_event, gst_dvd_demux_set_cur_audio)
	  (gst_dvd_demux_set_cur_subpicture):
	  Reactivate handling of DVD events.
	  * gst/mpegstream/gstmpegparse.c (normal_seek)
	  (gst_mpeg_parse_handle_src_event)
	  (gst_mpeg_parse_handle_src_query):
	  First attempt at reenabling seek.
	  * gst/mpegstream/gstmpegparse.h:
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init)
	  (gst_mpeg_parse_update_streaminfo)
	  (gst_mpeg_parse_get_rate)
	  (gst_mpeg_parse_convert, gst_mpeg_parse_get_src_query_types)
	  (gst_mpeg_parse_handle_src_query):
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_new_output_pad):
	  Make queries work again.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset)
	  (gst_mpeg_parse_handle_newsegment)
	  (gst_mpeg_parse_send_newsegment, gst_mpeg_parse_pad_added)
	  (gst_mpeg_parse_chain, gst_mpeg_parse_handle_src_event):
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse):
	  Get rid of the newsegment_pending attribute, and rely instead on
	  proper timestamp adjustment.
	  * gst/mpegstream/gstmpegparse.c
	  (gst_mpeg_parse_get_src_event_masks): Erase.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init):
	  Initialize fields before creating pads to prevent the pad creation
	  callback from failing.
	  (gst_mpeg_parse_reset): Initialize new fields, and change
	  initialization order to match the order in the structure.
	  (gst_mpeg_parse_handle_newsegment): Forward new segment events
	  whenever possible, and update the current segment.
	  (gst_mpeg_parse_send_newsegment): Update the current segment and
	  pending_newsegment.
	  (gst_mpeg_parse_pad_added): Use the current segment to send
	  newsegment events to new pads.
	  (gst_mpeg_parse_chain): Properly add adjust time to sent buffers
	  and events. Properly update newsegment_pending.
	  * gst/mpegstream/gstmpegparse.h	(struct _GstMPEGParse):
	  New fields do_adjust and current_segment.
	  * gst/mpegstream/gstmpegdemux.c:
	  * gst/mpegstream/gstdvddemux.c:
	  * gst/mpegstream/gstmpegparse.h:
	  Rename handle_discont virtual method to handle_newsegment. Erase
	  some (already commented out support) for old NEW_MEDIA events.
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse):
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init)
	  (gst_mpeg_parse_reset, gst_mpeg_parse_handle_discont)
	  (gst_mpeg_parse_pad_added, gst_mpeg_parse_parse_packhead)
	  (gst_mpeg_parse_event, gst_mpeg_parse_chain):
	  Erase the "pending_scr" field, and replace it by a slightly
	  different handling of the current SCR. Document code blocks in
	  parse_packhead and chain.

2005-12-07 11:50:10 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/mad/gstid3tag.c: g_warning() are only for really fatal warnings. If we can't decode a tag, just ignore that tag a...
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list):
	  g_warning() are only for really fatal warnings. If we can't decode a
	  tag, just ignore that tag and do a GST_WARNING.

2005-12-06 19:48:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* ext/a52dec/gsta52dec.h:
	* ext/dvdread/dvdreadsrc.h:
	* ext/lame/gstlame.h:
	* ext/mad/gstid3tag.c:
	* ext/mad/gstmad.c:
	* ext/mad/gstmad.h:
	* ext/mpeg2dec/gstmpeg2dec.h:
	* ext/sidplay/gstsiddec.h:
	* gst/ac3parse/gstac3parse.c:
	* gst/ac3parse/gstac3parse.h:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfdemux.h:
	* gst/iec958/ac3iec.h:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegaudioparse/gstmpegaudioparse.h:
	* gst/mpegstream/gstdvddemux.h:
	* gst/mpegstream/gstmpegclock.h:
	* gst/mpegstream/gstmpegdemux.h:
	* gst/mpegstream/gstmpegpacketize.h:
	* gst/mpegstream/gstmpegparse.c:
	* gst/mpegstream/gstmpegparse.h:
	* gst/mpegstream/gstrfc2250enc.c:
	* gst/mpegstream/gstrfc2250enc.h:
	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmdemux.h:
	* gst/synaesthesia/synaescope.c:
	  expand tabs
	  Original commit message from CVS:
	  expand tabs

2005-12-05 18:12:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.10.0 ===

2005-12-05 18:04:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-amrnb.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	  releasing 0.10.0
	  Original commit message from CVS:
	  releasing 0.10.0

2005-12-05 13:03:40 +0000  Andy Wingo <wingo@pobox.com>

	  Update for alloc_buffer changes.
	  Original commit message from CVS:
	  2005-12-05  Andy Wingo  <wingo@pobox.com>
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_push):
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_buffer):
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
	  * gst/iec958/ac3iec.c: (ac3iec_chain_raw):
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
	  (gst_rmdemux_parse_packet): Update for alloc_buffer changes.

2005-12-05 09:33:32 +0000  Andy Wingo <wingo@pobox.com>

	  ext/mad/gstid3tag.c (plugin_init): Remove id3tag -- there's just id3demux and id3mux now. Fixes #323199.
	  Original commit message from CVS:
	  2005-12-05  Andy Wingo  <wingo@pobox.com>
	  * ext/mad/gstid3tag.c (plugin_init): Remove id3tag -- there's just
	  id3demux and id3mux now. Fixes #323199.

2005-12-04 22:36:51 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-ugly.spec.in:
	  update spec file for latest changes
	  Original commit message from CVS:
	  update spec file for latest changes

2005-12-02 12:28:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  fix silly Makefile.am bug so they link correctly again
	  Original commit message from CVS:
	  * ext/amrnb/Makefile.am:
	  * gst/realmedia/Makefile.am:
	  fix silly Makefile.am bug so they link correctly again

2005-12-01 19:18:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.9.7 ===

2005-12-01 19:14:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	* docs/random/LICENSE:
	* docs/random/PORTED_09:
	  releasing 0.9.7
	  Original commit message from CVS:
	  releasing 0.9.7

2005-12-01 15:49:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* common:
	* ext/amrnb/Makefile.am:
	* gst/realmedia/Makefile.am:
	  Don't know how these escaped my eye before.  Fix link flags.
	  Original commit message from CVS:
	  Don't know how these escaped my eye before.  Fix link flags.

2005-11-30 18:37:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* examples/Makefile.am:
	* examples/capsfilter/Makefile.am:
	* examples/capsfilter/capsfilter1.c:
	* examples/gob/Makefile.am:
	* examples/gob/gst-identity2.gob:
	* examples/gstplay/.gitignore:
	* examples/gstplay/Makefile.am:
	* examples/gstplay/player.c:
	* examples/indexing/.gitignore:
	* examples/indexing/Makefile.am:
	* examples/indexing/indexmpeg.c:
	* examples/level/Makefile.am:
	* examples/level/README:
	* examples/level/demo.c:
	* examples/level/plot.c:
	* examples/stats/Makefile.am:
	* examples/stats/mp2ogg.c:
	* examples/switch/.gitignore:
	* examples/switch/Makefile.am:
	* examples/switch/switcher.c:
	  no examples
	  Original commit message from CVS:
	  no examples

2005-11-29 11:26:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/: Ref events before sending them to multiple pads, after all gst_pad_send_event() takes ownership of e...
	  Original commit message from CVS:
	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_event):
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_newsegment),
	  (gst_mpeg_parse_send_event):
	  Ref events before sending them to multiple pads, after all
	  gst_pad_send_event() takes ownership of events. Don't leak
	  events that have not been handled (fixes #322745).

2005-11-28 19:13:51 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event)
	  Original commit message from CVS:
	  2005-11-28  Martin Soto  <martinsoto@users.sourceforge.net>
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event)
	  (gst_dvd_demux_handle_dvd_event): Erase code to prevent mpegparse
	  from making timestamp adjustments. This will have to be re-added
	  in some form in the near future, but in order to do that, some nav
	  packet parsing will be necessary in mpegdemux.
	  * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse):
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init)
	  (g_value_set_int, gst_mpeg_parse_set_property)
	  Get rid of do_adjust and use_adjust. Rename max_discont to
	  max_src_gap.
	  (gst_mpeg_parse_parse_packhead): When max_scr_gap has a value of
	  -1, no adjustment is made.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init):
	  Rename max_discont property to max_scr_gap. Erase "adjust"
	  property.
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_send_event): Don't
	  override send_event anymore, base class does the job.
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_event):
	  Base class now does most of the work.
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_send_event):
	  Generalize to forwarding the event to all source pads in the
	  element.
	  * gst/mpegstream/gstmpegparse.h:
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init)
	  (gst_mpeg_parse_init, gst_mpeg_parse_set_clock)
	  (gst_mpeg_parse_chain, gst_mpeg_parse_get_property)
	  (gst_mpeg_parse_set_property):
	  Clock synchronization doesn't make sense anymore for a
	  demultiplexer.

2005-11-28 18:54:09 +0000  Michael Smith <msmith@xiph.org>

	  gst/realmedia/rmdemux.c: Don't treat normal EOS as a fatal error.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_loop):
	  Don't treat normal EOS as a fatal error.

2005-11-28 15:47:01 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/mad/gstmad.c: Proper warning statements,
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  Proper warning statements,
	  Don't error if the src pad isn't linked when pushing.
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_change_state):
	  Proper state_change, avoids borkage when going to READY

2005-11-27 15:34:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	* gst-libs/Makefile.am:
	* gst-libs/README:
	* gst-libs/ext/.gitignore:
	* gst-libs/gst/media-info/.gitignore:
	* gst-libs/gst/play/.gitignore:
	* gst-libs/gst/play/play.h:
	* gst-libs/gst/play/play.vcproj:
	  no need for an AS_LIBTOOL call
	  Original commit message from CVS:
	  no need for an AS_LIBTOOL call

2005-11-27 14:34:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* Makefile.am:
	* common:
	* gst-plugins-ugly.spec.in:
	  add ACLOCAL_AMFLAGS; remove old stuff from spec changelog
	  Original commit message from CVS:
	  add ACLOCAL_AMFLAGS; remove old stuff from spec changelog

2005-11-25 17:02:41 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/mpeg2dec/gstmpeg2dec.c: Prime libmpeg2's pumps with some null custom buffers to ensure it doesn't ask us to disca...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence):
	  Prime libmpeg2's pumps with some null custom buffers
	  to ensure it doesn't ask us to discard garbage later yay.

2005-11-25 17:01:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/mpeg2dec/gstmpeg2dec.c: Prime libmpeg2's pumps with some null custom buffers to ensure it ask us to discard garba...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence):
	  Prime libmpeg2's pumps with some null custom buffers
	  to ensure it ask us to discard garbage later yay.

2005-11-25 14:50:19 +0000  Michael Smith <msmith@xiph.org>

	  ext/a52dec/gsta52dec.*: Accept AC3 in audio/x-private1-ac3 format, which includes
	  Original commit message from CVS:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_init),
	  (gst_a52dec_sink_setcaps), (gst_a52dec_chain),
	  (gst_a52dec_chain_raw):
	  * ext/a52dec/gsta52dec.h:
	  Accept AC3 in audio/x-private1-ac3 format, which includes
	  DVD-specific headers, as well as raw AC3, for compatibility with
	  some demuxers.

2005-11-25 00:03:52 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/mad/gstmad.c: When pad_alloc returns other-than-GST_FLOW_OK and mad exits early, skip frame synthesis and consume...
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  When pad_alloc returns other-than-GST_FLOW_OK and mad exits early,
	  skip frame synthesis and consume input data as if we'd done the
	  decode. Makes mad not error when the src pad is not connected.
	  (#319784)

2005-11-24 13:58:55 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	* ChangeLog:
	  Erase old CVS conflict line.
	  Original commit message from CVS:
	  Erase old CVS conflict line.

2005-11-24 13:52:49 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init) (gst_mpeg_parse_handle_discont, gst_mpeg_parse_send_newsegm...
	  Original commit message from CVS:
	  2005-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init)
	  (gst_mpeg_parse_handle_discont, gst_mpeg_parse_send_newsegment)
	  (gst_mpeg_parse_chain):
	  * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_class_init)
	  (gst_mpeg_demux_send_newsegment):
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_send_subbuffer):
	  * gst/mpegstream/gstmpegparse.h:
	  Rename send_discont method to send_newsegment and add parameters
	  to handle actual segments. Adapt code all around to run with the
	  new name and signature.
	  * gst/mpegstream/gstmpegdemux.c:
	  * gst/mpegstream/gstmpegparse.c:
	  * gst/mpegstream/gstdvddemux.c:
	  Convert to GST_BOILERPLATE.

2005-11-24 12:23:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	  fix AS_LIBTOOL call
	  Original commit message from CVS:
	  fix AS_LIBTOOL call

2005-11-23 21:26:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* Makefile.am:
	  add a torture target
	  Original commit message from CVS:
	  add a torture target

2005-11-23 20:05:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.9.6 ===

2005-11-23 19:57:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.signals:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-amrnb.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	  releasing 0.9.6
	  Original commit message from CVS:
	  releasing 0.9.6

2005-11-23 00:26:42 +0000  Michael Smith <msmith@xiph.org>

	  gst/realmedia/rmdemux.c: Fractional framerates.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_sink_event),
	  (gst_rmdemux_src_event), (gst_rmdemux_validate_offset),
	  (find_seek_offset_bytes), (find_seek_offset_time),
	  (gst_rmdemux_perform_seek), (gst_rmdemux_src_query),
	  (gst_rmdemux_loop), (gst_rmdemux_fourcc_isplausible),
	  (gst_rmdemux_chain), (gst_rmdemux_send_event),
	  (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr),
	  (gst_rmdemux_parse_packet):
	  Fractional framerates.

2005-11-23 00:12:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/mpeg2dec/gstmpeg2dec.*: Use fractional framerates
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (src_templ),
	  (gst_mpeg2dec_negotiate_format), (handle_sequence),
	  (gst_mpeg2dec_sink_event):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Use fractional framerates

2005-11-22 19:07:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/mpegstream/gstmpegparse.c: set_clock returns a boolean.
	  Original commit message from CVS:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_set_clock):
	  set_clock returns a boolean.

2005-11-22 18:39:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstmad.c: Fix seeking even more by sending the newsegment event with the right parameters. Should fix queryin...
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  Fix seeking even more by sending the newsegment event with the
	  right parameters. Should fix querying in playbin/totem after
	  a seek.

2005-11-22 17:39:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstmad.c: Fix seeking in stand-alone mode. Fix nonexistant enum value introduced in previous commit. Improve ...
	  Original commit message from CVS:
	  * ext/mad/gstmad.c: (gst_mad_mode_get_type), (gst_mad_src_query),
	  (normal_seek), (gst_mad_sink_event), (gst_mad_chain):
	  Fix seeking in stand-alone mode. Fix nonexistant enum value
	  introduced in previous commit. Improve debug messages here and
	  there. Actually return a proper return value in the sink event
	  handler.

2005-11-22 17:15:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/lame/gstlame.c:
	  doh
	  Original commit message from CVS:
	  doh

2005-11-22 17:04:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* ext/lame/gstlame.c:
	* ext/mad/gstmad.c:
	* ext/sidplay/gstsiddec.cc:
	  fix up GValueEnum
	  Original commit message from CVS:
	  fix up GValueEnum

2005-11-22 12:39:29 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* ext/lame/gstlame.c:
	* ext/mad/gstid3tag.c:
	* ext/sidplay/gstsiddec.cc:
	  Update for gst_tag_setter API changes.
	  Original commit message from CVS:
	  2005-11-22  Andy Wingo  <wingo@pobox.com>
	  * Update for gst_tag_setter API changes.

2005-11-22 11:55:32 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* ext/a52dec/gsta52dec.c:
	* ext/mad/gstid3tag.c:
	* ext/mad/gstmad.c:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegstream/gstdvddemux.c:
	* gst/mpegstream/gstmpegparse.c:
	* gst/realmedia/rmdemux.c:
	  ext/a52dec/gsta52dec.c (gst_a52dec_sink_event) ext/mad/gstid3tag.c (gst_id3_tag_sink_event) ext/mad/gstmad.c (gst_mad...
	  Original commit message from CVS:
	  2005-11-22  Andy Wingo  <wingo@pobox.com>
	  * ext/a52dec/gsta52dec.c (gst_a52dec_sink_event)
	  * ext/mad/gstid3tag.c (gst_id3_tag_sink_event)
	  * ext/mad/gstmad.c (gst_mad_chain)
	  * gst/mpegaudioparse/gstmpegaudioparse.c
	  (gst_mp3parse_sink_event)
	  * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event)
	  * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_discont)
	  (gst_mpeg_parse_send_discont, gst_mpeg_parse_pad_added)
	  * gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek)
	  (gst_rmdemux_chain, gst_rmdemux_add_stream): Run update-funcnames.

2005-11-22 11:39:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/Makefile.am: libgsttagedit => libgsttag
	  Original commit message from CVS:
	  * ext/mad/Makefile.am:
	  libgsttagedit => libgsttag

2005-11-21 23:50:02 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/lame/gstlame.c: Don't take the stream lock
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_sink_event):
	  Don't take the stream lock

2005-11-21 17:34:30 +0000  Andy Wingo <wingo@pobox.com>

	  ext/: Don't take the stream lock.
	  Original commit message from CVS:
	  2005-11-21  Andy Wingo  <wingo@pobox.com>
	  * ext/sidplay/gstsiddec.cc (gst_siddec_sink_event):
	  * ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event):
	  * ext/mad/gstmad.c (gst_mad_sink_event):
	  * ext/a52dec/gsta52dec.c (gst_a52dec_sink_event): Don't take the
	  stream lock.
	  * gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek): Update for
	  stream lock changes.

2005-11-21 16:36:44 +0000  Andy Wingo <wingo@pobox.com>

	  *.*: Ran scripts/update-macros. Oh yes.
	  Original commit message from CVS:
	  2005-11-21  Andy Wingo  <wingo@pobox.com>
	  * *.h:
	  * *.c: Ran scripts/update-macros. Oh yes.

2005-11-21 15:12:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/mpegstream/: Filler events have beem removed for now.
	  Original commit message from CVS:
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_process_event):
	  Filler events have beem removed for now.

2005-11-21 14:08:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/: Update for GST_FOURCC_FORMAT API change.
	  Original commit message from CVS:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream):
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_chain),
	  (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr):
	  Update for GST_FOURCC_FORMAT API change.

2005-11-21 10:32:55 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/: Modifications for disapearance of GST_PAD_IS_USABLE()
	  Original commit message from CVS:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_chain),
	  (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr),
	  (gst_rmdemux_parse_packet):
	  Modifications for disapearance of GST_PAD_IS_USABLE()

2005-11-18 16:14:00 +0000  Michael Smith <msmith@xiph.org>

	  gst/iec958/ac3iec.c: Remove some setcaps brokenness.
	  Original commit message from CVS:
	  * gst/iec958/ac3iec.c: (ac3iec_init), (ac3iec_chain_dvd):
	  Remove some setcaps brokenness.
	  Don't crash on bad input.

2005-11-15 22:46:23 +0000  Johan Dahlin <johan@gnome.org>

	  ext/mad/gstid3tag.c (gst_mad_id3_to_tag_list): unset GValues after calling transform.
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c (gst_mad_id3_to_tag_list): unset GValues after
	  calling transform.
	  (gst_id3_tag_do_typefind): Unref caps
	  * ext/mad/gstmad.c (gst_mad_check_caps_reset): Ditto

2005-11-15 21:00:44 +0000  Johan Dahlin <johan@gnome.org>

	* ext/mad/gstmad.c:
	  remove accidentally commited hack
	  Original commit message from CVS:
	  remove accidentally commited hack

2005-11-15 20:30:53 +0000  Johan Dahlin <johan@gnome.org>

	* ext/mad/gstmad.c:
	  free pad templates
	  Original commit message from CVS:
	  free pad templates

2005-11-15 14:19:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mpeg2dec/gstmpeg2dec.c: Set DELTA_UNIT flag on outgoing buffers if this is NOT a keyframe; nice-ify debug message...
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (handle_slice),
	  (gst_mpeg2dec_sink_event):
	  Set DELTA_UNIT flag on outgoing buffers if this is NOT a keyframe;
	  nice-ify debug message in event handler; add CHECKME.
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event),
	  (gst_dvd_demux_send_event), (gst_dvd_demux_process_private),
	  (gst_dvd_demux_send_subbuffer), (gst_dvd_demux_reset),
	  (gst_dvd_demux_sync_stream_to_time):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init),
	  (gst_mpeg_demux_process_event), (gst_mpeg_demux_send_event),
	  (gst_mpeg_demux_handle_discont), (gst_mpeg_demux_new_output_pad),
	  (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes),
	  (gst_mpeg_demux_send_subbuffer), (gst_mpeg_demux_process_private),
	  (gst_mpeg_demux_sync_stream_to_time),
	  (gst_mpeg_demux_handle_src_event), (gst_mpeg_demux_reset):
	  * gst/mpegstream/gstmpegdemux.h:
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init),
	  (gst_mpeg_parse_handle_discont), (gst_mpeg_parse_send_buffer),
	  (gst_mpeg_parse_process_event), (gst_mpeg_parse_send_discont),
	  (gst_mpeg_parse_send_event), (gst_mpeg_parse_event),
	  (gst_mpeg_parse_chain):
	  * gst/mpegstream/gstmpegparse.h:
	  Get rid of GST_PAD_IS_USABLE and fix GstFlowReturn vs. gboolean
	  return value confusion (gst_pad_push vs. gst_pad_send_event and
	  gst_pad_push_event); pass flow return values to caller;
	  miscellaneous fixes and clean-ups.

2005-11-15 08:37:00 +0000  Christian Schaller <uraeus@gnome.org>

	* gst/mpegstream/gstdvddemux.c:
	  set rank to secondary until it works 100%
	  Original commit message from CVS:
	  set rank to secondary until it works 100%

2005-11-15 07:59:58 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-ugly.spec.in:
	  add mpegstream plugin to spec file
	  Original commit message from CVS:
	  add mpegstream plugin to spec file

2005-11-14 22:18:21 +0000  Martin Soto <martinsoto@users.sourceforge.net>

	  gst/mpegstream/Makefile.am (noinst_HEADERS): Add gstrfc2250enc.h.
	  Original commit message from CVS:
	  2005-11-14  Martin Soto  <soto@localhost.localdomain>
	  * gst/mpegstream/Makefile.am (noinst_HEADERS): Add
	  gstrfc2250enc.h.

2005-11-14 21:20:21 +0000  Josef Zlomek <josef.zlomek@xeris.cz>

	  partially port the mpegstream plugin to GStreamer 0.9.
	  Original commit message from CVS:
	  2005-11-14  Martin Soto  <martinsoto@users.sourceforge.net>
	  * configure.ac:
	  * gst/mpegstream/Makefile.am:
	  * gst/mpegstream/gstdvddemux.c:
	  * gst/mpegstream/gstdvddemux.h:
	  * gst/mpegstream/gstmpegdemux.c:
	  * gst/mpegstream/gstmpegdemux.h:
	  * gst/mpegstream/gstmpegpacketize.c:
	  * gst/mpegstream/gstmpegpacketize.h:
	  * gst/mpegstream/gstmpegparse.c:
	  * gst/mpegstream/gstmpegparse.h:
	  * gst/mpegstream/gstmpegstream.c:
	  * gst/mpegstream/gstrfc2250enc.c:
	  * gst/mpegstream/gstrfc2250enc.h:
	  Applied patch from Josef Zlomek <josef.zlomek@xeris.cz> to
	  partially port the mpegstream plugin to GStreamer 0.9.

2005-11-14 17:13:20 +0000  Andy Wingo <wingo@pobox.com>

	  configure.ac (GST_PLUGIN_LDFLAGS): -no-undefined for better debugging, allows dll builds on windows. Fixes #316076.
	  Original commit message from CVS:
	  2005-11-14  Andy Wingo  <wingo@pobox.com>
	  * configure.ac (GST_PLUGIN_LDFLAGS): -no-undefined for better
	  debugging, allows dll builds on windows. Fixes #316076.

2005-11-11 19:37:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	  back to head
	  Original commit message from CVS:
	  back to head

=== release 0.9.5 ===

2005-11-11 19:35:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* configure.ac:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-amrnb.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	  releasing 0.9.5
	  Original commit message from CVS:
	  releasing 0.9.5

2005-10-27 21:50:11 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.c: Forward GstFlowReturn about everywhere.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_reset),
	  (gst_mpeg2dec_alloc_buffer), (gst_mpeg2dec_negotiate_format),
	  (handle_sequence), (handle_picture), (handle_slice),
	  (gst_mpeg2dec_chain), (gst_mpeg2dec_src_query), (normal_seek),
	  (gst_mpeg2dec_src_event), (gst_mpeg2dec_change_state):
	  Forward GstFlowReturn about everywhere.
	  Handle seeking correctly.

2005-10-27 17:26:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.c: Small cleanups in refcounting.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format),
	  (handle_sequence), (handle_slice), (gst_mpeg2dec_chain),
	  (gst_mpeg2dec_src_query), (gst_mpeg2dec_change_state):
	  Small cleanups in refcounting.

2005-10-26 16:45:04 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/mpeg2dec/gstmpeg2dec.*: Removed lots of dubious code.
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
	  (gst_mpeg2dec_dispose), (gst_mpeg2dec_reset),
	  (gst_mpeg2dec_alloc_buffer), (gst_mpeg2dec_negotiate_format),
	  (handle_sequence), (handle_picture):
	  * ext/mpeg2dec/gstmpeg2dec.h:
	  Removed lots of dubious code.
	  Handle flushing and seeking correctly. Still leaks though...

2005-10-24 13:37:47 +0000  Christian Schaller <uraeus@gnome.org>

	* ChangeLog:
	* configure.ac:
	  port plugins listing changes
	  Original commit message from CVS:
	  port plugins listing changes

2005-10-23 23:06:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.9.4 ===

2005-10-23 22:44:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* Makefile.am:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins.args:
	* docs/plugins/gst-plugins-ugly-plugins.signals:
	* docs/plugins/inspect/plugin-a52dec.xml:
	* docs/plugins/inspect/plugin-amrnb.xml:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpeg2dec.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	* gst/realmedia/rmdemux.c:
	* po/POTFILES.in:
	  releasing 0.9.4
	  Original commit message from CVS:
	  releasing 0.9.4

2005-10-23 14:32:49 +0000  Julien Moutte <julien@moutte.net>

	  gst/realmedia/rmdemux.c: STOPPED->FAILED
	  Original commit message from CVS:
	  2005-10-23  Julien MOUTTE  <julien@moutte.net>
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_loop): STOPPED->FAILED

2005-10-21 16:22:00 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-ugly.spec.in:
	  add packaging of a52dec
	  Original commit message from CVS:
	  add packaging of a52dec

2005-10-21 11:58:38 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rmdemux.c: Set correct stream time in newsegment event.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_validate_offset),
	  (gst_rmdemux_perform_seek), (gst_rmdemux_src_query):
	  Set correct stream time in newsegment event.

2005-10-20 22:43:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/Makefile.am:
	  fix distcheck
	  Original commit message from CVS:
	  fix distcheck

2005-10-20 22:40:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* ext/Makefile.am:
	  fix distcheck
	  Original commit message from CVS:
	  fix distcheck

2005-10-20 09:51:58 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/a52dec/: Re-enable CPU flags, use liboil to get them.
	  Original commit message from CVS:
	  * ext/a52dec/Makefile.am:
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_base_init),
	  (gst_a52dec_class_init), (gst_a52dec_sink_event),
	  (gst_a52dec_change_state):
	  * ext/a52dec/gsta52dec.h:
	  Re-enable CPU flags, use liboil to get them.

2005-10-20 09:00:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Port AC3 decoder to 0.9 (#318849).
	  Original commit message from CVS:
	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
	  * configure.ac:
	  * ext/a52dec/Makefile.am:
	  * ext/a52dec/gsta52dec.c:
	  * ext/a52dec/gsta52dec.h:
	  Port AC3 decoder to 0.9 (#318849).

2005-10-20 08:30:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/sidplay/gstsiddec.cc: Small fixes and more error messages.
	  Original commit message from CVS:
	  * ext/sidplay/gstsiddec.cc:
	  Small fixes and more error messages.

2005-10-19 16:01:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  API change fixen.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_query),
	  (gst_amrnbparse_state_change):
	  * ext/mad/gstid3tag.c: (gst_id3_tag_src_query):
	  * ext/mad/gstmad.c: (gst_mad_get_query_types), (gst_mad_src_query):
	  * ext/mpeg2dec/gstmpeg2dec.c:
	  * ext/sidplay/gstsiddec.cc:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_validate_offset),
	  (gst_rmdemux_src_query), (gst_rmdemux_src_query_types):
	  API change fixen.

2005-10-19 12:43:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: GST_DOC has been renamed to GST_DOCBOOK_CHECK
	  Original commit message from CVS:
	  * configure.ac:
	  GST_DOC has been renamed to GST_DOCBOOK_CHECK

2005-10-19 09:47:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  configure.ac: some docs I had
	  Original commit message from CVS:
	  * configure.ac:
	  some docs I had
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_chain):
	  trivial fixes

2005-10-18 13:23:22 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/realmedia/rmdemux.c: segment-start/done API change.
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_validate_offset),
	  (gst_rmdemux_perform_seek):
	  segment-start/done API change.

2005-10-17 17:50:45 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* common:
	* gst/iec958/ac3iec.c:
	  Set buffer durations on IEC958 buffers.
	  Original commit message from CVS:
	  Set buffer durations on IEC958 buffers.

2005-10-16 17:06:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Fix glib check
	  Original commit message from CVS:
	  * configure.ac:
	  Fix glib check

2005-10-13 19:14:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/mad/gstid3tag.c: Fix handling of GST_TAG_DATE, which is now of type GST_TYPE_DATE.
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list):
	  Fix handling of GST_TAG_DATE, which is now of type GST_TYPE_DATE.

2005-10-13 15:29:56 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  examples/stats/mp2ogg.c: yes, typo fixes
	  Original commit message from CVS:
	  * examples/stats/mp2ogg.c:
	  yes, typo fixes

2005-10-12 14:30:36 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition
	  Original commit message from CVS:
	  * examples/indexing/indexmpeg.c: (main):
	  * ext/a52dec/gsta52dec.c: (gst_a52dec_init):
	  * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_is_open),
	  (dvdnavsrc_set_property), (dvdnavsrc_open), (dvdnavsrc_close),
	  (dvdnavsrc_event), (dvdnavsrc_convert), (dvdnavsrc_query):
	  * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_set_property),
	  (dvdreadsrc_srcpad_query), (dvdreadsrc_get),
	  (dvdreadsrc_open_file), (dvdreadsrc_close_file):
	  * ext/dvdread/dvdreadsrc.h:
	  * ext/lame/gstlame.h:
	  * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init):
	  * gst/asfdemux/gstasfmux.c: (gst_asfmux_init):
	  * gst/iec958/ac3iec.h:
	  * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_init):
	  * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_init):
	  * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init):
	  * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_init):
	  * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init):
	  renamed GST_FLAGS macros to GST_OBJECT_FLAGS
	  moved bitshift from macro to enum definition

2005-10-11 16:37:16 +0000  Wim Taymans <wim.taymans@gmail.com>

	  newsegment API update.
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c: (gst_id3_tag_sink_event):
	  * ext/mad/gstmad.c: (gst_mad_chain):
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event), (gst_mp3parse_chain):
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_perform_seek),
	  (gst_rmdemux_chain), (gst_rmdemux_add_stream):
	  newsegment API update.

2005-10-06 13:14:38 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/amrnb/amrnbdec.c: Mark invalid frame sizes
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c:
	  Mark invalid frame sizes
	  * ext/mad/gstmad.c: (gst_mad_init), (gst_mad_chain):
	  UNUSABLE is not to be used here, just push out stuff so
	  probes can continue linking or making the pad usable.

2005-10-05 11:25:51 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* gst/realmedia/rmdemux.c:
	  Improve seek error-resilience.
	  Original commit message from CVS:
	  Improve seek error-resilience.
	  Better error handling generally.

2005-10-03 17:59:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	  back to head
	  Original commit message from CVS:
	  back to head

=== release 0.9.3 ===

2005-10-03 17:49:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* README:
	* configure.ac:
	* ext/sidplay/Makefile.am:
	  release time
	  Original commit message from CVS:
	  release time

2005-09-30 16:43:12 +0000  Michael Smith <msmith@xiph.org>

	* gst/realmedia/rmdemux.h:
	  Forgot to commit this file. I hate Nano.
	  Original commit message from CVS:
	  Forgot to commit this file. I hate Nano.

2005-09-30 16:39:47 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* common:
	* gst/realmedia/rmdemux.c:
	  Sanity checks and memory leak fixes for real demuxer
	  Original commit message from CVS:
	  Sanity checks and memory leak fixes for real demuxer

2005-09-29 13:44:15 +0000  Michael Smith <msmith@xiph.org>

	  gst/realmedia/rmdemux.c: Real demuxer fixes. Make it more bulletproof against bad data, identify a few more stream ty...
	  Original commit message from CVS:
	  * gst/realmedia/rmdemux.c: (gst_rmdemux_src_event),
	  (gst_rmdemux_perform_seek), (gst_rmdemux_loop),
	  (gst_rmdemux_send_event), (gst_rmdemux_add_stream),
	  (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet):
	  Real demuxer fixes. Make it more bulletproof against bad data,
	  identify a few more stream types.
	  Fix seeking so that it works (at least with the seek example
	  program; it still fails with totem).

2005-09-26 14:41:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/mpegaudioparse/gstmpegaudioparse.c: Set correct caps on buffers too.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_sink_event), (gst_mp3parse_chain):
	  Set correct caps on buffers too.

2005-09-26 14:31:53 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/mpegaudioparse/gstmpegaudioparse.*: Put timestamps on buffers.
	  Original commit message from CVS:
	  * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_init),
	  (gst_mp3parse_sink_event), (gst_mp3parse_chain):
	  * gst/mpegaudioparse/gstmpegaudioparse.h:
	  Put timestamps on buffers.

2005-09-21 22:21:22 +0000  Flavio Oliveira <flavio.oliveira@indt.org.br>

	* ChangeLog:
	* ext/amrnb/amrnbenc.c:
	  Changed amrnbenc description, it is an encoder, not decoder.
	  Original commit message from CVS:
	  Changed amrnbenc description, it is an encoder, not decoder.

2005-09-21 16:21:45 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* gst/iec958/ac3_padder.c:
	* gst/iec958/ac3_padder.h:
	* gst/iec958/ac3iec.c:
	  Various changes to AC3->IEC958 framer. Mostly to make our IEC958 headers and dump the frame (as a probable sync failu...
	  Original commit message from CVS:
	  Various changes to AC3->IEC958 framer. Mostly to make our IEC958 headers
	  more accurate, and to check AC3 checksums (both of them in each frame),
	  and dump the frame (as a probable sync failure) if they don't match.
	  General code cleanup, improved comments. Changed to not construct the
	  header backwards, and not byteswap everything else. If we end up needing
	  to do little-endian output, we should swap in the element doing the
	  output (AC3 is big-endian).

2005-09-20 17:37:54 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-ugly.spec.in:
	  fix spec file for ugly
	  Original commit message from CVS:
	  fix spec file for ugly

2005-09-19 23:25:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* docs/plugins/inspect/plugin-lame.xml:
	  revert empty commit
	  Original commit message from CVS:
	  revert empty commit

2005-09-19 23:24:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* docs/plugins/scan.stamp:
	  whoops, wrong files
	  Original commit message from CVS:
	  whoops, wrong files

2005-09-19 23:21:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  docs/plugins/gst-plugins-ugly-plugins.*: commit missing files
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-ugly-plugins.args:
	  * docs/plugins/gst-plugins-ugly-plugins.hierarchy:
	  * docs/plugins/gst-plugins-ugly-plugins.interfaces:
	  * docs/plugins/gst-plugins-ugly-plugins.prerequisites:
	  commit missing files
	  * docs/plugins/inspect/plugin-lame.xml:
	  update

2005-09-19 16:44:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* Makefile.am:
	* common:
	* gst-plugins-ugly.spec.in:
	  add check-valgrind target
	  Original commit message from CVS:
	  add check-valgrind target

2005-09-19 13:46:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* docs/plugins/scanobj-build.stamp:
	  add stamp
	  Original commit message from CVS:
	  add stamp

2005-09-19 11:07:40 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/lame/gstlame.c: Set caps on outgoing buffers.
	  Original commit message from CVS:
	  * ext/lame/gstlame.c: (gst_lame_chain):
	  Set caps on outgoing buffers.

2005-09-16 16:04:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* ext/lame/gstlame.c:
	* ext/lame/gstlame.h:
	  clean up further so we don't try to set up five times for a simple pipeline
	  Original commit message from CVS:
	  clean up further so we don't try to set up five times for
	  a simple pipeline

2005-09-16 15:43:08 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* common:
	* gst/iec958/ac3iec.c:
	  Set setcaps function on sink pad, not source pad. Produce correct caps on output buffers.
	  Original commit message from CVS:
	  Set setcaps function on sink pad, not source pad. Produce correct caps
	  on output buffers.

2005-09-11 17:53:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	  update inspect with source
	  Original commit message from CVS:
	  update inspect with source

2005-09-07 13:42:44 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/mad/gstid3tag.c: gsttaginterface.h -> gsttagsetter.h
	  Original commit message from CVS:
	  * ext/mad/gstid3tag.c:
	  gsttaginterface.h -> gsttagsetter.h

2005-09-06 14:06:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.9.1 ===

2005-09-06 14:05:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* README:
	* RELEASE:
	* autogen.sh:
	* configure.ac:
	  releasing 0.9.2
	  Original commit message from CVS:
	  releasing 0.9.2

2005-09-06 12:00:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/amrnb/: State change function updates.
	  Original commit message from CVS:
	  * ext/amrnb/amrnbdec.c: (gst_amrnbdec_state_change):
	  * ext/amrnb/amrnbenc.c: (gst_amrnbenc_state_change):
	  * ext/amrnb/amrnbparse.c: (gst_amrnbparse_state_change):
	  State change function updates.

2005-09-05 17:24:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/mpeg2dec/gstmpeg2dec.c: GST_CAT_SEEK disappeared from the public API at some point
	  Original commit message from CVS:
	  * ext/mpeg2dec/gstmpeg2dec.c:
	  GST_CAT_SEEK disappeared from the public API at some point

2005-09-05 11:42:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/iec958/ac3_padder.c:
	* gst/iec958/ac3_padder.h:
	  doc fixes
	  Original commit message from CVS:
	  doc fixes

2005-09-04 19:28:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* Makefile.am:
	* autogen.sh:
	* common:
	* configure.ac:
	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
	* docs/plugins/inspect-build.stamp:
	* docs/plugins/inspect.stamp:
	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
	* docs/plugins/inspect/plugin-iec958.xml:
	* docs/plugins/inspect/plugin-lame.xml:
	* docs/plugins/inspect/plugin-mad.xml:
	* docs/plugins/inspect/plugin-mpegaudioparse.xml:
	* docs/plugins/inspect/plugin-rmdemux.xml:
	  docs for ugly plugins
	  Original commit message from CVS:
	  docs for ugly plugins

2005-09-02 18:01:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst-plugins-ugly.spec.in:
	* gst/iec958/Makefile.am:
	  build fixes
	  Original commit message from CVS:
	  build fixes

2005-09-02 17:04:39 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* gst/iec958/ac3iec.c:
	  Accept audio/x-private1-a3c on sink pad
	  Original commit message from CVS:
	  Accept audio/x-private1-a3c on sink pad

2005-09-02 17:01:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst-plugins-ugly.spec.in:
	  spec updates
	  Original commit message from CVS:
	  spec updates

2005-09-02 15:43:54 +0000  Andy Wingo <wingo@pobox.com>

	* examples/gstplay/player.c:
	* examples/stats/mp2ogg.c:
	* ext/a52dec/gsta52dec.c:
	* ext/amrnb/amrnbdec.c:
	* ext/amrnb/amrnbenc.c:
	* ext/amrnb/amrnbparse.c:
	* ext/dvdnav/dvdnavsrc.c:
	* ext/dvdread/dvdreadsrc.c:
	* ext/lame/gstlame.c:
	* ext/mad/gstid3tag.c:
	* ext/mad/gstmad.c:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* gst/ac3parse/gstac3parse.c:
	* gst/asfdemux/gstasfdemux.c:
	* gst/asfdemux/gstasfmux.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/iec958/ac3iec.c:
	* gst/mpegaudioparse/gstmpegaudioparse.c:
	* gst/mpegstream/gstdvddemux.c:
	* gst/mpegstream/gstmpegdemux.c:
	* gst/mpegstream/gstmpegparse.c:
	* gst/mpegstream/gstrfc2250enc.c:
	* gst/realmedia/rmdemux.c:
	* gst/synaesthesia/gstsynaesthesia.c:
	  All plugins updated for element state changes.
	  Original commit message from CVS:
	  2005-09-02  Andy Wingo  <wingo@pobox.com>
	  * All plugins updated for element state changes.

2005-09-02 14:19:17 +0000  Michael Smith <msmith@xiph.org>

	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/iec958/ac3iec.c:
	  Fix return types in setcaps functions
	  Original commit message from CVS:
	  Fix return types in setcaps functions

2005-09-02 13:37:13 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/iec958/ac3iec.c:
	  Changes to correctly use first_access parameter in ac3 and lpcm plugins.
	  Original commit message from CVS:
	  Changes to correctly use first_access parameter in ac3 and lpcm plugins.
	  Some general cleanups in iec958 framer.

2005-09-01 21:07:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* m4/Makefile.am:
	* m4/as-arts.m4:
	* m4/esd.m4:
	* m4/gst-alsa.m4:
	* m4/gst-artsc.m4:
	* m4/gst-matroska.m4:
	* m4/ogg.m4:
	* m4/vorbis.m4:
	  fix distcheck; remove some old m4s
	  Original commit message from CVS:
	  fix distcheck; remove some old m4s

2005-09-01 17:31:21 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* configure.ac:
	* gst/iec958/Makefile.am:
	* gst/iec958/ac3_padder.c:
	* gst/iec958/ac3_padder.h:
	* gst/iec958/ac3iec.c:
	* gst/iec958/ac3iec.h:
	  AC3 -> IEC958 (S/PDIF) framer, based on Martin Soto's 0.8 plugin
	  Original commit message from CVS:
	  AC3 -> IEC958 (S/PDIF) framer, based on Martin Soto's 0.8 plugin

2005-09-01 11:52:34 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/dvdlpcmdec/gstdvdlpcmdec.c: Cleanups, fixed header parsing and stripping.
	  Original commit message from CVS:
	  * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_setcaps),
	  (gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw),
	  (gst_dvdlpcmdec_change_state):
	  Cleanups, fixed header parsing and stripping.

2005-09-01 11:34:39 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  Use the right bytes when parsing the LPCM dvd header
	  Original commit message from CVS:
	  Use the right bytes when parsing the LPCM dvd header

2005-09-01 11:16:15 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	  Return the correct values from chain function
	  Original commit message from CVS:
	  Return the correct values from chain function

2005-09-01 10:04:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* docs/Makefile.am:
	* docs/plugins/.gitignore:
	* docs/random/ChangeLog-0.8:
	* docs/version.entities.in:
	  adding doc stuff
	  Original commit message from CVS:
	  adding doc stuff

2005-08-31 19:37:08 +0000  Michael Smith <msmith@xiph.org>

	* ChangeLog:
	* gst/dvdlpcmdec/gstdvdlpcmdec.c:
	* gst/dvdlpcmdec/gstdvdlpcmdec.h:
	  Restructure LPCM decoder to not expect the demuxer to parse the LPCM header; instead do this internally. Also support...
	  Original commit message from CVS:
	  Restructure LPCM decoder to not expect the demuxer to parse the LPCM
	  header; instead do this internally. Also support the old way, using
	  a different mime-type. CVS:

2001-12-17 18:37:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  building up speed
	  Original commit message from CVS:
	  building up speed

