=== release 1.13.91 ===

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

	* 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

